Frage

Ich arbeite an einer Webseite, auf der Benutzerinformationen auf einer Schaltfläche klicken und dann die Seite umleiten.

Ich möchte jedoch den Benutzer alarmieren, wenn er/sie vergisst, einen Wert in einem der Steuerelemente auszufüllen. und fragen Sie, um den Fehler zu korrigieren, und klicken Sie erneut auf die Schaltfläche Speichern.

Ich habe eine ähnliche Funktion mit ConfirmBox implementiert, aber da das Alarmbox keinen Rückgaberwert hat, habe ich mich gefragt, ob eine solche Implementierung möglich ist?

War es hilfreich?

Lösung

Serverseite

<asp:Button ID="MyButton" runat="server" OnClientClick="return myFunction();" OnClick="MyButton_Click" Text="Save" />

Client -Seite

function myFunction() {
     if (document.getElementById("<%=this.MyFieldName.ClientID%>").value.length == 0) {
         alert('Please fill in the field.');
         return false;
     }

    return true;
}

Andere Tipps

Sie können auch einen ASP: RequiredFieldValidator -Tag verwenden und die ASP.NET -Validierungslogik alle Überprüfungen und Benutzeranforderungen für Sie durchführen.

Versuchen Sie, die Standard -ASP.NET -Validierungssteuerungen wieder zu validieren, anstatt mit benutzerdefinierten JavaScript- und Warnstunden zu validieren. Für die erforderlichen Felder, Vergleichsvalidatoren, benutzerdefinierte Validatoren usw. stehen ein paar von ihnen zur Verfügung, und der Vorteil besteht darin, dass Sie Standardmechanismen verwenden und auf sie zugreifen können, um sowohl serverseitig als auch clientseitige Validierung durchzuführen. Die serverseitige Validierung ist wichtig, wenn Ihr Benutzer JavaScript in seinem Browser deaktiviert hat, was immer noch zu passieren scheint.

Darüber hinaus bevorzuge ich tatsächlich, dass Dinge direkt auf der Seite und nicht mit Alarmboxen passieren (dies ist irgendwie die alte Art, Dinge zu tun). Warnboxen senken die Benutzererfahrung, da er kontinuierlich darauf klicken muss, und außerdem muss er lesen, was passiert ist, während der Fehler direkt unter seiner Quelle erleichtert wird (nur aus Sicht der Benutzerfreundlichkeit).

Sie können sich alternativ auch den Jquery -Validierungsmechanismus ansehen. Soweit ich weiß, gibt es einen.

Ich glaube nicht, dass Sie einen Rückgabewert brauchen. Ihre Funktion kann die Schaltfläche Absendung abbrechen, indem Sie nur false zurückgeben.

function myBtnClick()
{
   if (document.getElementById("myTextBox").value == "")
   {   
      alert("You forgot to fill it in!");
      return false;
   }

   return true;
}

Oder Sie können den Text in Ihrem Alarmfeld in eine Frage ändern und stattdessen ein Bestätigungsfeld verwenden:

if (document.getElementById('myTextBox').value == "")
{
    return confirm('Are you sure you want to exit without filling in ... ?');
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top