javascript joint ne fonctionne pas en safari.safari javascript numéro
Ce script affiche un message de confirmation avant de quitter la page en cours.
étonnamment cela fonctionne pour la première fois en safari (mais pas lors de la soumission subséquente).
Scénario:
- utilisateur fait quelques changements et appuyez sur le bouton soumettre un message
- de confirmation affiché à l'utilisateur utilisateur
- a décidé d'appuyer sur le bouton annuler pour rester en arrière sur la même page
- mais l'utilisateur postface impossible d'invoquer à nouveau soumettre.
- Le bouton d'envoi ne fonctionne pas.
P.S: Ce code fonctionne parfaitement avec d'autres navigateurs IE7/8, FireFox.
function checksave() {
if (formIsDirty(myForm)) {
return "The form has been changed...";
}
}
function formIsDirty(form) {
for (var i = 0; i < form.elements.length; i++) {
var element = form.elements[i];
var type = element.type;
if (type == "checkbox" || type == "radio") {
if (element.checked != element.defaultChecked) {
return true;
}
}
else if (type == "hidden" || type == "password" || type == "text" ||
type == "textarea") {
if (element.value != element.defaultValue) {
return true;
}
}
else if (type == "select-one" || type == "select-multiple") {
for (var j = 0; j < element.options.length; j++) {
if (element.options[j].selected !=
element.options[j].defaultSelected) {
return true;
}
}
}
}
return false;
}
<body OnBeforeUnload ="return checksave();">
<form id="myForm" >
<table border="1">
<tr> <td>Enter Text:</td><td><input id="text1" type="text" value=""/> <br/> </td></tr>
<tr> <td><input id="button1" type="submit" value="Submit1"/> <br/> </td> <td><input id="button2" type="submit" value="Submit2"/> <br/> </td></tr>
</table>
</form>
</body>
Répondu ici? http://stackoverflow.com/questions/803887/can-i-pop-up-a-confirmation-dialog-when-the-user-is-closing-the-window-in-safari – Mantar