Validation javascript, image form submit

Fermé
Cox - 13 nov. 2008 à 23:05
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 - 17 nov. 2008 à 11:12
Bonjour à toutes et à tous,

En désespoir de cause et après avoir cherché partout une réponse, je m'en remets à une âme charitable qui voudra bien m'aider...

J'ai réalisé une page php avec un form. Le form renvoie à cette même page, qui se recharge et envoie une requête mySQL après validation. Je tiens donc à ce qu'un popup de validation s'ouvre pour me permettre de confirmer.
Le hic, c'est que pour le "submit", je fais appel à une image (type="image").

Or la connerie, c'est qu'apparemment, cette méthode contourne le submit (renvoie d'un booléen) et donc le popup. Au pire, j'avais trouvé une méthode qui forçait l'affichage du popup, mais le form était soumis quelle que soit la réponse !

En gros, pour l'instant, je n'ai que deux solutions : passer par un moche bouton "submit" ou "button" et le customiser (mais ça va ruiner mes icones) ou me lancer dans du compliqué à mort en java et là je suis pas rentré.

Y'a t-il quelqu'un qui a déjà rencontré le problème et qui a trouvé une solution viable pour avoir un popup de confirmation fonctionnel ET le submit via l'image ?

Merci infiniment de tout essai pour me sortir de ma déprime !

Cox
A voir également:

5 réponses

Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
14 nov. 2008 à 11:50
Pour tester le submit :
exemple :
<input type="image" name="img_submit" src="url_image" />

if ($_GET["img_submit_x"])
{
  // l'utilisateur a cliquer sur envoyer
} 

img_submit_x plutôt que img_submit pour être compatible avec ie qui ne renvoie que la position à laquelle on a cliqué l'image

Pour le popup, je pense que le mieux c'est de l'afficher avant de submit :
Quand on clique sur l'image <img> tu appelles une fonction javascript qui (vérifie ton form) affiche la popup, si ok cliqué => SUBMIT sinon on reste sur la page.
0
Merci de ta réponse,

C'est un peu le souci, il y a moyen de faire apparaitre un pop-up en utilisant la fonction "onclick", mais dans la mesure où le fait de valider le formulaire par l'image contourne le submit, je n'arrive pas à empêcher le formulaire d'être envoyé. En gros, je peux utiliser une fonction "confirm" ou "verify" pour mon popup, de toutes façons, quoique je fasse, le formulaire est envoyé.

Il est possible que la solution vienne du submit_x bien que je fasse mes tests sur firefox si tu me dis que ce n'est nécessaire qu'avec IE. Mais j'ai effectivement lu pas mal de trucs disant que c'est ça qui causait pas mal de problèmes sur les formulaires. En revanche, je n'ai pas encore réussi à exploiter ça.

Le fait de faire un GET comme tu le proposes m'oblige à recharger ma page pour récupérer la variable avant de lancer mon script n'est ce pas ? Ca serait un moindre mal si ça fonctionnait, mais même comme ça, je n'arrive pas à récupérer mon img_submit_x pour en faire une conditionnelle. Ca plante peut être du côté script, j'avoue être très nul de ce côté là.
Voici mon code :

<?php
//le formulaire suivant va permettre d'ajouter une nouvelle langue
echo '<form name="addlangue" action="index.php?langue='.$langue.'&page=langueadmin" method="post">';
?>
<input name="img_submit" type="image" src="../img/add.gif" value=submit border=0 />



puis après rechargement en haut de page :

if (isset($_GET["img_submit_x"]))
{ popup('Are you sure ?', 'document.addlangue.submit.x()'); }



et enfin mon script js

<script>
function popup(message,action)
{
alert(action);
if(confirm(message))
{ eval(action); }
}
</script>

(désolé pour ne pas avoir mis mon code comme il se doit mais la page déconne apparemment)


Si quelqu'un a une idée sur comment remanier tout ça pour que ça fonctionne, je le remercie d'avance.
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
15 nov. 2008 à 14:15
La solution que je te proposait et qui je pense est la meilleure :
<img src="mon_image" OnClick="if(confirm(message)){form.submit();}" />

Et pas de bouton qui submit directement le formulaire.
0
Fonctionne à la perfection ! Merci beaucoup de cette astuce, je n'y aurais vraiment jamais pensé alors que c'est tout simple !
Merci d'avoir pris le temps de me donner ta solution !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
17 nov. 2008 à 11:12
Pas de problème, bonne continuation.
0