Ich entwickle Web-Anwendung mit A4J, Richfaces. Eine meiner Anforderungen ist, dass ich überprüfen muss, ob der Benutzer irgendwelche Werte im Formular geändert hat, wenn er versucht, von der Seite weg zu navigieren.Abfangen a4j: commandButton Anfrage
Ich habe Schaltflächen auf der Seite speichern und abbrechen. Ich verwende a4j:command
Schaltfläche für Abbrechen-Funktion. Durch Klicken auf Abbrechen-Taste sollte unter Dinge
- Überprüfen Sie, ob der Benutzer etwas in der Form geändert hat (das tue ich durch mit Hilfe von Javascript und eine Fahne haben, wenn der Benutzer keine Werte geändert)
- Display-Bestätigungsfeld (Javascript bestätigen mit Werten „Haben Sie die Änderungen verwerfen wollen Sie wirklich - JA NEIN“), wenn der Benutzer
- Form Werte ändert Wenn der Benutzer JA sagt, dann senden Sie das Formular mit AJAX (von A4J mit)
Mein a4j Befehlsschaltfläche Code ist wie folgt
<a4j:commandButton action="MyClass.cancel_action"
onclick="checkIsPageChanged()"/>
Die Frage ist hier, bei der Verwendung von a4j:commandButton
verwenden, ich kann die Zwischen-JavaScript-Funktion nicht aufrufen (die Funktion, die, wenn der Benutzer eine beliebige Werte und zeigt Bestätigungsfeld aktualisiert prüft) und dann den Antrag stellen Ajax. Ich habe den Code generiert von JSF sah und der Code ist wie (nicht genau, aber syntact)
<input type="button"
onclick="checkIsPageChanged();AJAX.submit('')/>
Die Sache ist, wenn ich auf die Schaltfläche klicken, ruft es nur checkIsPageChanged()
und nicht AJAX.submit()
aufrufen.
Jede Abhilfe für dieses wird mir helfen.
Vielen Dank im Voraus.
Ihr Code funktioniert, aber es sollte klargestellt werden, dass bei der Rückgabe von 'true' die Anfrage ebenfalls nicht gesendet wird. Siehe https://community.jboss.org/thread/3755?start=0&tstart=0&_sscc=t In der Tat wird 'onclick ="! IsPageChanged() "' _nicht_ funktionieren. –