Submit d'un formulaire

cs_jpb Messages postés 6 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 22 mai 2006 - 21 janv. 2003 à 00:36
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012 - 21 févr. 2005 à 16:07
Bonsoir tout le monde,

J'ai un formulaire:
<FORM NAME=form1 METHOD=get>

J'ai un lien:
Créer

J'ai une fonction:
function creation() {
........
document.form1.submit();
}

Et ça ne submit rien du tout. Pourtant, si je mets un alert, il "passe" bien sur le submit.

Et je ne voudrais pas utiliser un bouton submit pour des raisons de présentation (class).

Si vous avez une idée......merci d'avance
J-Pierre

16 réponses

cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
30 janv. 2003 à 11:29
salut,

essaye plutot :

<head>
<script language="javascript">

function creation() {
........
document.form1.action="ta_page.htm";
document.form1.submit();
}

</script>
</head>

<form name="form1" method="get">
[javascript:creation(); Créer]
</form>

Il doit y avoir un conflit avec le onclick et le href de ton lien.

A+
Webmaster de prixmini.com
0
cs_jpb Messages postés 6 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 22 mai 2006
30 janv. 2003 à 12:03
Merci beaucoup, ça roule, en fait, le problème est que je ne mettais pas:

document.form1.action="ta_page.htm";

J-Pierre
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
25 janv. 2005 à 12:33
j'ai repris ton code et j'ai essayé de le modifier pour que ca marche
chez moi car je veux récuperer les données dans un popup mais j'arrive
pas à récuperer les données.. voila mon code



function creation() {

document.form1.action=
window.open('modif.php','modification','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width=500,height=500');

document.form1.submit();

}




merci de me rendre réponse
0
cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
25 janv. 2005 à 21:00
salut,

function creation() {

// ouvre la fenetre
window.open('','modification','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width=500,height=500');
document.form1.submit();
// page qui reçoit les info du formulaire
document.form1.action ="modif.php";
// cible du formulaire ici ta fenetre
document.form1.target = "nom de ta fenetre --> modification";
// envoie le formulaire
document.form1.submit();
}

Ce script fonctionnera si ton PC est assez rapide pour ouvrir la fenetre avant la validation de ton formulaire.
Pour etre certain que cela se deroule normalement tu dois tester que ta fenetre est bien ouverte avant l'envoie de ton formulaire pour cela tu as plusieur méthode.
- La methode 1 : l'utilisation de l'evement "onlaod" qui est executé a la fin du chargement d'une page.
- Methode 2 : teste que la fenetre est ouverte avec la fonction "closed"

autre possibilité, quand ta popup s'ouvre elle valide le formulaire avec la propriété "opener"

a+
0

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

Posez votre question
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
26 janv. 2005 à 18:41
merci c'est exactement ce que je cherche.. mais je comprend pas ce que je dois mettre là :

document.form1.target = "nom de ta fenetre --> modification";

c'est koi "nom de ta fenetre --> modification";

merci d'avance
0
cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
26 janv. 2005 à 19:50
salut,

quand tu crees une popup, tu as 3 arguments : la page a ouvrir, le nom de la popup , les parametres de la popup : taille, barre de scroll, ...

par exemple j'ouvre la page tapage.php dans la fenetre nommé popup1 de taille 500 sur 500 pixel :
window.open('tapage.php','popup1','width=500,height=500');

la cible de ton formulaire sera donc le nom de cette fenetre, ici c'est popup1

ce qui donne pour le script :
document.form1.target = 'popup1';

Dans ton script ta fenentre s'appelle modification, tu devra donc ecrire :
window.open('','modification','resizable=no,copyhistory=yes,width=500,height=500');
document.form1.target = 'modification';

a+
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
27 janv. 2005 à 09:34
aaaaaaaaaaaaa merci je comprends maintenant. merci beaucoup en tout cas. j'essaye ce code dans les jours qui suis et je te redis si ca marche

merci en tout cas
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
31 janv. 2005 à 08:10
yyyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeessssssssssssssssssssss ca marche !!



encore merci t'es vraiment une star... merci beaucoup
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
14 févr. 2005 à 14:23
ton code y marche mais la j'ai un autre probleme. j'ai une page qui
affiche plusieurs formulaire grace à une boucle while qui va rechercher
des informations dans ma base de donnée. et en meme temps elle me
reprend un id différent a chaque fois pour chaque formulaire que je
créé grace à la boucle. mais maintenant que je veux valider mon
formualire avec mon image, il garde en mémoire a chaque fois la
dernière id qui est passé dans la boucle. j'ai essayer de mettre dans
un champ hidden mon id et de le récuper mais ca change rien. il prend
toujours la derniere id qui est passé dans la boucle.



j'esperes que ta compris mon problème....



merci d'avance
0
cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
16 févr. 2005 à 13:30
tu ne peux validé (faire le submit) que d'un formulaire a la fois
un formulaire ne peut pas contenir d'autre formulaire

pour ton probleme, je ne voie pas trop ce que tu veux faire, j'ai besoin de plus d'information comme la structure de ton formulaire (code source HTML que tu generes), ce que tu veux envoyer du formaulaire, la structure de la base et la requete que tu fais, sans cela je vais avoir un peu de mal a t'aider.

a+
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
16 févr. 2005 à 18:12
ok alors je retourne lundi au boulot et je t'envoie ca lundi... merci
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
21 févr. 2005 à 08:00
alors me revoila.... je te met d'abord mes fonction javascript que j'ai mis...



<script>

function creation() {



// ouvre la fenetre

window.open('','modification','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars,resizable=no,copyhistory=yes,width=500,height=500');

document.form<? echo $id; ?>.submit();

// page qui reçoit les info du formulaire

document.form<? echo $id; ?>.action ="modif.php";

// cible du formulaire ici ta fenetre

document.form<? echo $id; ?>.target = "modification";

// envoie le formulaire

document.form<? echo $id; ?>.submit();

}

function vin() {



// ouvre la fenetre

window.open('','vin','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars,resizable=no,copyhistory=yes,width=700,height=550');

document.form<? echo $id; ?>.submit();

// page qui reçoit les info du formulaire

document.form<? echo $id; ?>.action ="vin.php";

// cible du formulaire ici ta fenetre

document.form<? echo $id; ?>.target = "vin";

// envoie le formulaire

document.form<? echo $id; ?>.submit();

}

function envoi() {

document.form<? echo $id; ?>.submit();

// page qui reçoit les info du formulaire

document.form<? echo $id; ?>.action ="caddie.php";

// cible du formulaire ici ta fenetre

document.form<? echo $id; ?>.target = "page";

// envoie le formulaire

document.form<? echo $id; ?>.submit();

}

</script>



la function creation c'est pour modifier le vin, la fonction vin c'est
pour afficher le vin dans un popup, et la fonction envoi( celle qui
nous interesse) c'est celle qui m'envoie mes information du formulaire
vers mon caddie.



voila mon caddie en php :



<form name="form<? echo $id; ?>" method="get">

">

"
height="130" >,

" target="vin"
onClick="javascript:vin()"><? echo $nom ;
?>,

----

...Ann&eacute;e :,

...<? echo
$annee; ?>,

...<? if ( $prix1 != "") {echo 'Prix
37 Cl';} ?>,

...<? echo
$prix1; ?>,

<? if ( $prix1 != "") {echo
'';} ?>,

<? if ( $action37 == "oui") { echo '';} if ( $prix1 !=
"") { echo "" ;} ?>,

"
target="modification" onClick="javascript:creation()">,

----

...Type :,

...<? echo
$type; ?>,

...<? if ( $prix2 != "") {echo 'Prix
50 Cl' ;} ?>,

...<? echo
$prix2; ?>,

<? if ( $prix2 != "") { echo '';}
?>,

<?
if ( $action50 == "oui") { echo '';} if ( $prix2 != "") {echo "" ;} ?>,

----

...Producteur :,

...<? echo
$vendeur; ?>,

...<? if ( $prix3 != "") { echo 'Prix
75 Cl';} ?>,

...<? echo
$prix3;?>,

<? if ( $prix3 != "") { echo '';}
?>,

<?
if ( $action75 == "oui") { echo '';} if ( $prix3 != "") {echo "" ;} ?>,

">,

----

...Pays : ,

...<? echo $pays; ?>,

...<? if ( $prix4 != "") { echo 'Prix
100 Cl';} ?>,

...<? echo
$prix4; ?>,

<? if ( $prix4 != "") { echo '';}
?>,

<?
if ( $action100 == "oui") { echo '';} if ( $prix4 != "") {echo "" ;} ?>


</form>



voila je t'ai mis en rouge l'endroit ou ca foire... en faite le but
c'est de récuperer l'id du vin et la quantité désirée. mais mon code
comme ca il marche mais ce formulaire ce trouve dans une boucle. alors
y me récupère chaque fois la derniere id qui est passé dans la
boucle... j'ai un exemple concret de ce que je voudrait avoir sur
http://chatis.ath.cx/nectar



merci d'avance
0
cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
21 févr. 2005 à 10:42
salut,

pour valider le bon formulaire, tu dois lui indiquer lequel tu valides

modifie ta fonction "envoi" pour valider le bon formulaire avec en parametre le nom de ton formulaire

function envoi(id) {
// page qui reçoit les info du formulaire
document.form["form"+id].action ="caddie.php";
document.form["form"+id].target = "page";
document.form["form"+id].submit();
}

modifie ton lien aussi pour indiquer la reference de ton formulaire:

echo "

a+
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
21 févr. 2005 à 10:53
j'ai fais ce que tu m'as dit mais kan je clic dessus ya rien qui ce
passe... y doit avoir une erreur a un endroit mais je sais pas ou..
mais dans le lien y récupere la bonne id c'est juste ca
0
cs_sbertrand Messages postés 89 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 14 mars 2005
21 févr. 2005 à 12:09
oups j'ai oublier un S

document.forms["form"+id].action ="caddie.php";
document.forms["form"+id].target = "page";
document.forms["form"+id].submit();

sinon j'ai tester chez moi cela focntionne

voila mon code pour faire l'essai :

<html>
<head>
<script language="javascript">
function envoi(id) {
window.document.forms["form"+id].action ="essai.htm";
window.document.forms["form"+id].target = "page";
window.document.forms["form"+id].submit();
}
</script>
</head>

<form name="form27" method="get" action="" target="">

[javascript:envoi(27); commander]
</form>

</html>
0
cs_chatis Messages postés 74 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 4 avril 2012
21 févr. 2005 à 16:07
OOOOOOOOUUUUUUUUUUUIIIIIIIIIIIIII



ca marche !!! enfin !!! merci beaucoup



et a la prochaine... vraiment sympas !!
0
Rejoignez-nous