JavaScript Wer hat Postback ausgelöst
lubb
- javascript
0 Blubb0 lubb0 Blubb0 Vinzenz Mai0 lubb
hallo Leute,
kann man der ControllName feststellen, der einen Postback ausgelöst hat?
wenn ja WIE?
Beste Grüsse
Lubb
Hallo,
kann man der ControllName feststellen, der einen Postback ausgelöst hat?
Ja.
wenn ja WIE?
http://www.lmgtfy.com/?q=asp.net controlname postback
Übrigens kannst du an dieser Antwort in einem anderen Forum erkennen, dass deine Art zu fragen nicht optimal ist.
Grüße
hallo
Danke für deine Antwort,
leider ist das nicht was ich suche, ich möchte per javascript der ControllName ermitteln (nicht festsetzen).
ich verwende in die WebAnwendung die javascript-function "window.onbeforeunload", diese Methode wird (mein fall) immer ausgelöst zusammen mit dem Postback z.B. Buttons oder Dropdownlist
für butten habe ich eine bool variable deklarieren und per OnClientClick="needToConfirm = false;" auf false gesetzt so wird der function "window.onbeforeunload" nicht verarbeitet
bei dropdownlist ist es nicht möglich(das ist mein Problem) die Methode
"window.onbeforeunload" soll nicht ausgeführt werden wenn der User die dropdownlist ändert.
Beste grüsse
lubb
Hallo,
kannst du mal ein minimal Beispiel posten? Also ein HTML/Javascript Fragment wo man dein Problem nachvollziehen kann.
Soweit ich dich verstanden habe, möchtest du die Ausführung des Codes aus "window.onbeforeunload" bei einer Veränderung in der Auswahlliste verhindern. Das heißt, dass du dort ein "onchange" oä Event definiert hast, welches die Seite neu laden soll?
Grüße
Hallo,
Soweit ich dich verstanden habe, möchtest du die Ausführung des Codes aus "window.onbeforeunload" bei einer Veränderung in der Auswahlliste verhindern. Das heißt, dass du dort ein "onchange" oä Event definiert hast, welches die Seite neu laden soll?
dieser Eventhandler müsste in diesem Fall doch einfach nur die Überwachung von window.onbeforeunload beenden, z.B. mit
window.onbeforeunload = null
als erster Anweisung im Eventhandler, siehe molily.
Freundliche Grüße
Vinzenz
Guten Moregn,
Die lösung kann sehr einfach sein!
die Dropdownlist kann mit der option onchange="needToConfirm = false;"
so muss ich nicht mehr prüfen, on die Dropdownlist die Postback ausgelöst hat.
<asp:DropDownList ID="ddlKostenstelle" runat="server" OnSelectedIndexChanged="KostenstelleChanged" AutoPostBack="true" onchange="needToConfirm = false;">
</asp:DropDownList>
<script type="text/javascript">
var ids = new Array('ctl00_ContentPlaceHolderContent_tbSerienNr', 'ctl00_ContentPlaceHolderContent_tbRechnungsNr' );
var values = new Array();
function populateArrays()
{
// assign the default values to the items in the values array
for (var i = 0; i < ids.length; i++)
{
var elem = document.getElementById(ids[i]);
if (elem)
{
if (elem.type == 'select-one')
values[i] = elem.options.selected;
else if( elem.type == 'text' || elem.type == 'textarea')
values[i] = elem.value;
}
}
}
var needToConfirm = true;
window.onbeforeunload = confirmExit
function confirmExit()
{
var test = window.form1.target;
if (needToConfirm)
{
populateArrays();
// check to see if any changes to the data entry fields have been made
for (var i = 0; i < values.length; i++)
{
var elem = document.getElementById(ids[i]);
if (elem)
{
if (elem.type == 'select-one')
{
for (var ii = 0; ii < elem.options.length; ii++)
{
if (elem.options[ii].selected != values[i])//elem.options[ii].defaultSelected
if (elem.options[ii].value!=-1)
return "Wollen Sie die Seite wirklich verlassen, ohne die Änderungen zu speichern?";
}
}
else if ((elem.type == 'text') && elem.value != values[i])//elem.defaultValue )
return "Wollen Sie die Seite wirklich verlassen, ohne die Änderungen zu speichern?";
else if ((elem.type == 'textarea') && elem.value != values[i])//elem.defaultValue )
return "Wollen Sie die Seite wirklich verlassen, ohne die Änderungen zu speichern?";
}
}
// no changes - return nothing
}
}
</script>
warum so schwer wenn es einfach sein kann!
Vielen Dank für eure hilfe
Beste Grüsse
Lubb