Frage

Kurze Erläuterung:

Ich habe ein Skript-Steuerelement, das das Click-Ereignis hat in der Skriptdatei behandelt werden. Der Click-Handler erscheint eine Bestätigungsaufforderung und gibt den Wert der Ansage.

Problem:

IE sieht die Rückkehr False (Abbrechen auf dem Bestätigungsfeld ausgewählt) und es gibt keine Postbacks. Firefox ignoriert dies und feuert die Postbacks.

Lösung:

Ich habe gelesen, dass wenn ich diese Art und Weise die alte Art und Weise tat, ich müsste haben:

onClick="return SomeMethod();"

In der Markup. Es hoffentlich ist eine Möglichkeit, dies mit Skript Kontrollen zu tun?

Beispiel:

Hier ist, was ich in der Skriptdatei haben:

//THIS IS THE METHOD CLICK CALLS
handleLnkDeleteButtonClick: function(e)
{
    var confirmed = confirm('This will delete the current Message category and move all messages to the Oprhan cataegory.  Continue?');
    return confirmed;
},

initialize: function()
{
    this._lnkDeleteButton = $get(this._lnkDeleteButtonID);
    this._lnkDeleteButton.idpicker = this;

    //HOOK BEGINS HERE
    this._lnkDeleteButtonClick = Function.createDelegate(this, this.handleLnkDeleteButtonClick);
    $addHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
    //END HOOK HERE

    NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'initialize');
},

dispose: function()
{
    $removeHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
    NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'dispose');
}
War es hilfreich?

Lösung

Ok es so selbst gelöst, nachdem über viel zu viel Zeit richtig für Google Begriff Dinge zu versuchen. Stellt sich heraus, es ist eine Methode, so zu nennen, dass Sie sich über die Rückkehr wahr oder falsch mach dir keine Sorgen.

handleLnkDeleteButtonClick: function(e)
{
    var confirmed = confirm('This will delete the currery Message category and move all messages to the Oprhan cataegory.  Allow?');
    if (!confirmed)
    {
        e.preventDefault();
    }
},

Also anstatt bestätigt von Zurückgeben, ich hatte nur zu überprüfen Wert es ist und die e.preventDefault Methode aufrufen, von Brennen der Klick zu beenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top