Alors... Je vais tenter de vous expliquer tout cela...
Il s'agit d'une appli web pour une entreprise qui gere le cablage du réseau interne de l'entreprise...
On fait des requete sur la base mysql grace a php... des ligne s'affiche.
Dans ses lignes s'affiche particulierement les l'identifiant de cable ethernet ( en effet ils sont nommé avec un petite etiquette du type XXXX ).
Pour avoir de l'ergonomie, j'ai mit en place un systeme de modification "inline" ( note inline: Double click sur le cable, un champ de texte apparait > on modifie la valeur > lorsque l'on sort du champ on appel une page php (grace à l'ajax) pour insérer la nouvelle valeur dans mysql ).Un exemple ici :http://olance.developpez.com/artic [...] e/exemple/
Il faut savoir que chaque numéro de cable doit etre UNIQUE dans la base. (Note: le champ des cables dans la base n'est pas unique, il peut donc avoir des "doublon", et c'est le cas).
Dans mon cas:
Je double click sur le champs > je modifie la valeur par un cable qui est "libre" > tout marche bien, mysql prend bien la modif en compte ( grace à l'appel de ma page php qui fait le boulot)
Mon probleme se pose ici, je voudrai avoir ceci:
Je double click sur le champs > je modifie la valeur par un cable qui existe deja dans la base > Une boite de dialogue s'affiche pour me demander "Etes vous sur d'éffectuer la modification?"
Si je click annuler: on ne fait rien (ce oint la ne me pose pas de probleme)
Si je click OK la modif doit pouvoir s'éffectuée. Par conséquent une nouvelle requete vers la page php doit etre effectuée (= une requete Ajax).
Le probleme c'est que lorsque l'utilisateur intervien sur la boite de dialogue, nous somme deja une une requete ajax, et une sous requete ajax dans le "XHR.readyState == 4" ne fonctionne pas. (je mi prend mal peut etre)
Code :
- if (XHR.readyState == 4){
- if(XHR.responseText != ''){ // la page php retourne une erreur: Le cable entré existe
- if (confirm ('Etes vous sur de vouloir modifier la valeur par un cable qui existe deja?')) {
- //L'utilisateur force l'insertion, Il faudrai envoyer une nouvelle requete AJAX qui appel a nouveau
- //une nouvelle requete AJAX qui appel a nouveau
- //la page php pour inserer la valeur forcée, SI Vous avez une idée pour cela.....
-
- }else {
- //On ne fait rien
- }
- }
- }
|
Je vous remercie de votre aide....,
Thomas
Message édité par dragon38330 le 28-11-2007 à 08:24:10