Salut
Je cherche à savoir si il est possible de valider un formulaire alors que l'on ferme une fenêtre.
Pourquoi cette question ? A cause d'un changement de méthode d'enregistrement. Jusqu'à maintenant, j'avais un formulaire dont chaque ligne était enregistré dès qu'elle était modifiée, en passant par une procédure AJAX.
Seulement sur certains postes clients (dont je ne sais pas grand chose, si ce n'est qu'ils sont sous IE6, qu'ils passent par un proxy et que si ca se trouve, ils n'utilisent pas la dernière version de IE6, car chaque logiciel doit avoir été validé par le service informatique (pour vous dire, ils ont un client FTP Filezilla qui n'est pas compatible avec notre serveur FTP... Chose marrante, la version d'avant et la version d'après n'ont pas de bug... mais non, ils sont obligés de garder leur version non compatible)) tout n'est pas toujours enregistré. Parfois, la mise à jour a l'air de se lancer (sablier qui s'affiche) mais la mise à jour ne se termine pas (et en base de donnée non plus).
Enfin bref, mon problème est ailleurs maintenant, vu que la validation se fait en bloc et du coup, il faut cliquer sur un bouton "valider" pour enregistrer les changements (avant ils avaient aussi le bouton valider, mais c'est un bouton "placebo"... sisi, il rassure mais il ne fais rien)
Du coup, j'ai peur qu'ils aillent rentrer leurs valeurs et qu'ils ferment leur navigateur (et hop, 3h de boulot perdu, c'est une interface de traduction... j'ose pas imaginer au bout d'un temps de traduction, tout perdre) et donc j'ai mis un message pour confirmer la fermeture de la fenêtre.
Pour ceux qui ne connaissent pas JQuery, $(window).unload(fn) met un trigger sur le unload de l'objet window et $('objet').val() me donne la valeur de l'objet, mais là, il ne s'agit que de traductions. Quant à $('form1').submit() sans paramètre, ca valide le formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script language="javascript" type="text/javascript" src="jquery.js"></script> <script language="javascript" type="text/javascript"> $(window).unload(unloadFunct); function unloadFunct() { if(waitingChanges == true && formSubmiting == false) if(confirm($('#hdn_modifEnCours').val() + ' ' + $('#hdn_confirmUpdate').val())) $('form1').submit(); } </script>
Du coup, je voudrais valider mon formulaire si la personne clique sur oui, même si ca ne garde pas la fenêtre ouverte (chose impossible d'après mes tests rapides, et ce que je comprends, vu que sinon ca serait trop simple de garder un spam sur l'écran). je ne peux pas l'ouvrir dans une autre fenêtre ou alors si quelqu'un a l'astuce pour prendre les valeurs de tous les inputs d'une page et faire un window.open en les passant en post à une page, ca peut m'aller, mais je pense pas que ce soit possible :S
Je sais pas si j'ai été bien clair dans ma dernière phrase, mais merci d'avance pour votre aide![]()
Partager