Sample Program
Add this code to global.js
type="text/javascript">
// adding a gmail style function to stop the user from moving away from the page..
function unloadMessage(){message = "This form has not yet been submitted to the database\nAll data will be lost."
return message;}
function setBunload(on){window.onbeforeunload = (on) ? unloadMessage : null;}
setBunload(true);
Mozilla Page [1]
IE Manual [2]
Discussion
Use the xf:load action in combination with an xforms-value-changed event to call a "dirty" function containing setBunload(true).
Likewise, use the load action within the submission to call a "clean" function containing "setBunload(false)".
function dirty() {
setBunload(true);
}
function clean() {
setBunload(false);
}
This one goes in your "submission" element:
resource="javascript:clean()" ev:event="xforms-submit-done"/>
and this
resource="javascript:dirty()" ev:event="xforms-value-changed"/>
goes somewhere in the form - place it at the body-level to capture all change events, or nest it within a more appropriate container.
References
This example was taken from Alex Bleasdale in 2007.
Microsoft documentation on page unload function
Where this page came from
This page was imported from Wikibooks. From “XForms” on Wikibooks, by its contributors, under CC BY-SA 4.0. Changed here: set as a page; navigation and edit links left out; each image under its own licence, credited in its caption.
Nobody has written it yet — it is the source material at a new address, which is why search engines are asked to skip it and why no one earns from it. It is up for grabs: take it on, and it is yours to rewrite and to earn from.
收录于这些专栏XForms
许可协议: CC BY-SA 4.0 · 改编自 en.wikibooks.org
1
0
0
0

留言






