Tableaux en javascript, le récupérer en php
Fermé
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
-
2 sept. 2008 à 16:46
MiWi86-33 Messages postés 142 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 20 juin 2011 - 4 sept. 2008 à 10:38
MiWi86-33 Messages postés 142 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 20 juin 2011 - 4 sept. 2008 à 10:38
A voir également:
- Tableaux en javascript, le récupérer en php
- Recuperer message whatsapp supprimé - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Telecharger javascript - Télécharger - Langages
- Impossible de récupérer mon compte gmail - Guide
12 réponses
mouf13
Messages postés
142
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
22 février 2011
17
2 sept. 2008 à 16:58
2 sept. 2008 à 16:58
je veux bien t'aider mais va me falloir un peu plus d'elements..
tu utilise $_POST, j'en deduis que $_POST['TabNumForm[1]'] est tiré d'un formulaire containant un input de ce nom, est-ce bien çà ?
A quoi sert ton javascript
ou veux-tu en venir...
bref pas assez d élèments pour pouvoir t'aider :o
tu utilise $_POST, j'en deduis que $_POST['TabNumForm[1]'] est tiré d'un formulaire containant un input de ce nom, est-ce bien çà ?
A quoi sert ton javascript
ou veux-tu en venir...
bref pas assez d élèments pour pouvoir t'aider :o
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
2 sept. 2008 à 17:20
2 sept. 2008 à 17:20
je viens de comprendre que $_POST c'était pour récupérer des input, donc j'ai abandonné le $_POST['tab ....].....
Mais j'ai quand même pas résolu mon soucis...
Disons que j'ai un formulaire initiale :
formInsert.php
le javascript me permettra de créer ou supprimer un (ou plusieurs) nouveau(x) formulaire(s) après avoir appuyer sur ajouter
forms.js
et dans ma derniere page je fais le traitement pour rentrer mes données dans la base de donnée, je voulais récupérer le numForm, donc avec contentForm.name il suffit juste de mettre $_POST['1'] ou $_POST['2'] ... pour récupérer mes numForm, faire un "if(isset($_POST[$i]))"
par exmple
reg.php
mais pour celà, il faut que je récupère le dernier numForm, donc le numéro du dernier formulaire pour savoir où arrêter ma boucle faire "pour i allant de 1 a lederniernumForm par pas de 1"
merci d'avance, si besoin, si question, je reste disponible...
Merci
Mais j'ai quand même pas résolu mon soucis...
Disons que j'ai un formulaire initiale :
formInsert.php
<div id="formulaireReference"> <br><label> Chaine <input type="text" name="chaine0" size="20" id="chaine"/> </label> <br /> <LABEL>Codage : </LABEL> MPG4 <input type="radio" name="codage0" value="mpg4" class="OPTION" /> MPEG2 <input type="radio" name="codage0" value="mpeg2" class="OPTION" > <br /> <LABEL>Définition : </LABEL> SD <input type="radio" name="def0" value="SD" class="OPTION" /> HD <input type="radio" name="def0" value="HD" class="OPTION" > <br /> <LABEL>Systeme : </LABEL> PAL <input type="radio" name="syst0" value="PAL" class="OPTION" /> NTSC <input type="radio" name="syst0" value="NTSC" class="OPTION" > <br> </div> <div id="formulaires"></div> <p> <input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add()" > </form> <p> <input type="submit" id="Soumettre" name="Soumettre" value="Soumettre" />
le javascript me permettra de créer ou supprimer un (ou plusieurs) nouveau(x) formulaire(s) après avoir appuyer sur ajouter
forms.js
var numForm = 1; var i = 0; var contentDivName = "formulaires"; function add() { var contentForm = document.createElement('input'); /* Retrieve fieldSet from the page */ var conteneur = document.getElementById(contentDivName); /* Create elements that we need into the new form to add */ var undiv = document.createElement('div'); var MaChaine = document.createTextNode("Chaine : "); var chaine = document.createElement('input'); var MonCodage = document.createTextNode("Codage : "); var MonMpg4 = document.createTextNode("MPG4 "); var mpg4 = document.createElement('input'); var MonMpeg2 = document.createTextNode("MPEG2 "); var mpeg2 = document.createElement('input'); var MaDefinition = document.createTextNode("Définition : "); var MaSd= document.createTextNode("SD "); var sd = document.createElement('input'); var MaHd = document.createTextNode("HD "); var hd = document.createElement('input'); var MonSysteme = document.createTextNode("Systeme : "); var MonPal = document.createTextNode("PAL "); var pal = document.createElement('input'); var MonNTSC = document.createTextNode("NTSC "); var ntsc = document.createElement('input'); var but = document.createElement('input'); contentForm.type = 'text'; contentForm.value = numForm; contentForm.name = numForm; chaine.type = 'text'; mpg4.type = 'radio'; mpg4.name = 'codage'+numForm; mpg4.value = 'mpg4'; mpeg2.type = 'radio'; mpeg2.name = 'codage'+numForm; mpeg2.value = 'mpeg2'; sd.type = 'radio'; sd.name = 'def'+numForm; hd.type = 'radio'; hd.name = 'def'+numForm; pal.type = 'radio'; pal.name = 'sys'+numForm; ntsc.type = 'radio'; ntsc.name = 'sys'+numForm; but.type = 'button'; but.value = 'Supprimer le formulaire'; // Implement delete function on the button but.onclick = function() { // Element to remove lediv = this.parentNode; // Element parent lefieldset = lediv.parentNode; // Remove the element lefieldset.removeChild(lediv); } /* Append elements (new form) into the page */ undiv.appendChild( document.createElement('br') ); undiv.appendChild(contentForm); undiv.appendChild(MaChaine); undiv.appendChild(chaine); undiv.appendChild( document.createElement('br') ); undiv.appendChild(MonCodage); undiv.appendChild(MonMpg4); undiv.appendChild(mpg4); undiv.appendChild(MonMpeg2); undiv.appendChild(mpeg2); undiv.appendChild( document.createElement('br') ); undiv.appendChild(MaDefinition); undiv.appendChild(MaSd); undiv.appendChild(sd ); undiv.appendChild(MaHd); undiv.appendChild(hd); undiv.appendChild( document.createElement('br') ); undiv.appendChild(MonSysteme); undiv.appendChild(MonPal); undiv.appendChild(pal ); undiv.appendChild(MonNTSC); undiv.appendChild(ntsc); undiv.appendChild( document.createElement('br') ); undiv.appendChild(but); conteneur.appendChild(undiv); //TabNumForm[i] = numForm; //document.write(TabNumForm) i++; numForm++; }
et dans ma derniere page je fais le traitement pour rentrer mes données dans la base de donnée, je voulais récupérer le numForm, donc avec contentForm.name il suffit juste de mettre $_POST['1'] ou $_POST['2'] ... pour récupérer mes numForm, faire un "if(isset($_POST[$i]))"
par exmple
reg.php
for($i=1;$i<=???;$i++) if(isset($_POST[$i])) // insertion dans ma base de donnée ...
mais pour celà, il faut que je récupère le dernier numForm, donc le numéro du dernier formulaire pour savoir où arrêter ma boucle faire "pour i allant de 1 a lederniernumForm par pas de 1"
merci d'avance, si besoin, si question, je reste disponible...
Merci
mouf13
Messages postés
142
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
22 février 2011
17
2 sept. 2008 à 17:36
2 sept. 2008 à 17:36
ben y a un moyen simple
tu creer un input de type hidden avec la valeur num+1 que tu as recuperé
tu creer un input de type hidden avec la valeur num+1 que tu as recuperé
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
2 sept. 2008 à 17:55
2 sept. 2008 à 17:55
euh... pas compris;
type hidden ok,
valeur num+1 pourquoi?
je veux juste récupérer le numForm du dernier formulaire, et je ne sais pas à quel niveau le faire après le fonction add? dans la fonction add? dans mon reg.php dans mon formInsert.php ou forms.js?
type hidden ok,
valeur num+1 pourquoi?
je veux juste récupérer le numForm du dernier formulaire, et je ne sais pas à quel niveau le faire après le fonction add? dans la fonction add? dans mon reg.php dans mon formInsert.php ou forms.js?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mouf13
Messages postés
142
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
22 février 2011
17
2 sept. 2008 à 18:23
2 sept. 2008 à 18:23
c'est pas propre mais c le principe
$i = 1;
$html = '<form method="post" action="#">'.
'<input type="hidden" name="num['.$i.']" id="num['.$i.']" value="'.$i.'"/>'.
'<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add(document.getElementById('num['.$i.']').value);" >'.
'</form>';
echo $html;
et dans ton js
tu vas recreer le champs num avec la valeur+1 passé en argument
$i = 1;
$html = '<form method="post" action="#">'.
'<input type="hidden" name="num['.$i.']" id="num['.$i.']" value="'.$i.'"/>'.
'<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add(document.getElementById('num['.$i.']').value);" >'.
'</form>';
echo $html;
et dans ton js
tu vas recreer le champs num avec la valeur+1 passé en argument
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
3 sept. 2008 à 11:36
3 sept. 2008 à 11:36
coucou, merci pour tes réponses, mais je bugues toujours sur le
"et dans ton js
tu vas recreer le champs num avec la valeur+1 passé en argument"
c'est mon numForm qu'il faut que je change?
ou créer un num input type hidden, avec pour name num et value numForm+1 :
var num = document.createElement('input');
num.type = 'hidden';
num.name = 'num';
num.value = numForm+1;
???
Merci d'avance pour la réponse!!!! et désolé, je comprends pas tout tout en php....
"et dans ton js
tu vas recreer le champs num avec la valeur+1 passé en argument"
c'est mon numForm qu'il faut que je change?
ou créer un num input type hidden, avec pour name num et value numForm+1 :
var num = document.createElement('input');
num.type = 'hidden';
num.name = 'num';
num.value = numForm+1;
???
Merci d'avance pour la réponse!!!! et désolé, je comprends pas tout tout en php....
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
3 sept. 2008 à 15:36
3 sept. 2008 à 15:36
je bug avec :
onclick="javascript:add(document.getElementById("num['.$i.']").value)"
niarf niarf
onclick="javascript:add(document.getElementById("num['.$i.']").value)"
niarf niarf
adaro2000
Messages postés
46
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 octobre 2008
2
3 sept. 2008 à 15:51
3 sept. 2008 à 15:51
Slt.
Tu dis avoir des problèmes avec :
onclick="javascript:add(document.getElementById('num['.$i.']').value);"
?
C'est normal. Si l'id de l'élément est la valeur de l'élément de la table num[], ce n'est pas là la meilleure façon de l'indiquer à Javascript. Tu affiche le contenu de cet élément dans le getElementById. Je ne pense pas que le nom de ton élément soit num[un_chiffre].
Merci.
Tu dis avoir des problèmes avec :
onclick="javascript:add(document.getElementById('num['.$i.']').value);"
?
C'est normal. Si l'id de l'élément est la valeur de l'élément de la table num[], ce n'est pas là la meilleure façon de l'indiquer à Javascript. Tu affiche le contenu de cet élément dans le getElementById. Je ne pense pas que le nom de ton élément soit num[un_chiffre].
Merci.
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
3 sept. 2008 à 16:34
3 sept. 2008 à 16:34
"tu vas recreer le champs num avec la valeur+1 passé en argument"
J'ai été trop bête pour pas avoir compris le passage en argument...par contre, num avec la valeur+1...euh po compris....
j'avais pas vu la réponse...
en faite là pour le coup, ce qui buguer sur "onclick="javascript:add(document.getElementById("num['.$i.']").value)""
c'était une question de ";" qui faisait planté mon code, par contre, je comprends toujours pas la logique de mettre le truc en paramètre pour que je puisse récupérer le dernier numForm d'ajouté...
J'ai été trop bête pour pas avoir compris le passage en argument...par contre, num avec la valeur+1...euh po compris....
j'avais pas vu la réponse...
en faite là pour le coup, ce qui buguer sur "onclick="javascript:add(document.getElementById("num['.$i.']").value)""
c'était une question de ";" qui faisait planté mon code, par contre, je comprends toujours pas la logique de mettre le truc en paramètre pour que je puisse récupérer le dernier numForm d'ajouté...
mouf13
Messages postés
142
Date d'inscription
mardi 20 juin 2006
Statut
Membre
Dernière intervention
22 février 2011
17
3 sept. 2008 à 16:45
3 sept. 2008 à 16:45
Oui je me suis mal exprimé.
ce champs hidden te sert de reference pour chacun des formulaires que tu vas generer
add(1);
add(2);
add(3);
...
add(numForm) {
var num = document.createElement('input');
num.type = 'hidden';
num.name = 'num[numForm+1]';
num.value = numForm+1;
}
et dans ton bouton d'ajout tu recupere la valeur du derniere input hidden : num
autre chose tu peux utiliser des tableaux
MPG4 <input type="radio" name="codage0" value="mpg4" class="OPTION" />
MPEG2 <input type="radio" name="codage0" value="mpg2" class="OPTION" />
a mon avis ca sera moins chiant :
MPG4 <input type="radio" name="codage[]" id="codage[]" value="mpg4" class="OPTION" />
MPEG2 <input type="radio" name="codage[]" id="codage[]" value="mpg2" class="OPTION" />
ce champs hidden te sert de reference pour chacun des formulaires que tu vas generer
add(1);
add(2);
add(3);
...
add(numForm) {
var num = document.createElement('input');
num.type = 'hidden';
num.name = 'num[numForm+1]';
num.value = numForm+1;
}
et dans ton bouton d'ajout tu recupere la valeur du derniere input hidden : num
autre chose tu peux utiliser des tableaux
MPG4 <input type="radio" name="codage0" value="mpg4" class="OPTION" />
MPEG2 <input type="radio" name="codage0" value="mpg2" class="OPTION" />
a mon avis ca sera moins chiant :
MPG4 <input type="radio" name="codage[]" id="codage[]" value="mpg4" class="OPTION" />
MPEG2 <input type="radio" name="codage[]" id="codage[]" value="mpg2" class="OPTION" />
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
3 sept. 2008 à 18:02
3 sept. 2008 à 18:02
rebonjour,
j'ai fait dans FormInsert.php
et dans forms.js
Mais mon bouton ajouter marche pas.....comment celà se faisse???
j'ai fait dans FormInsert.php
<?php $i = 1; $html = '<form method = "post" action = "#">'. '<input type = "hidden" name = "num['.$i.']" value = "'.$i.'"/>'. '<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add(document.getElementById("num['.$i.']").value;)"/>'. '</form>'; // echo $html; ?>
et dans forms.js
var numForm = 1; var contentDivName = "formulaires"; function add(numForm) { var num = document.createElement('input'); var contentForm = document.createElement('input'); /* Retrieve fieldSet from the page */ var conteneur = document.getElementById(contentDivName); /* Create elements that we need into the new form to add */ var undiv = document.createElement('div'); var MonCodage = document.createTextNode("Codage : "); var MonMpg4 = document.createTextNode("MPG4 "); var mpg4 = document.createElement('input'); var MonMpeg2 = document.createTextNode("MPEG2 "); var mpeg2 = document.createElement('input'); var but = document.createElement('input'); num.type = 'hidden'; num.name = 'num'; num.value = 'num[numForm+1]'; ; num.id = numForm+1; contentForm.type = 'hidden'; contentForm.name = numForm; chaine.type = 'text'; mpg4.type = 'radio'; mpg4.name = 'codage'+numForm; mpg4.value = 'mpg4'; mpeg2.type = 'radio'; mpeg2.name = 'codage'+numForm; mpeg2.value = 'mpeg2'; but.type = 'button'; but.value = 'Supprimer le formulaire'; // Implement delete function on the button but.onclick = function() { // Element to remove lediv = this.parentNode; // Element parent lefieldset = lediv.parentNode; // Remove the element lefieldset.removeChild(lediv); } /* Append elements (new form) into the page */ undiv.appendChild( document.createElement('br') ); undiv.appendChild(num); undiv.appendChild(contentForm); undiv.appendChild(MaChaine); undiv.appendChild(chaine); undiv.appendChild( document.createElement('br') ); undiv.appendChild(MonCodage); undiv.appendChild(MonMpg4); undiv.appendChild(mpg4); undiv.appendChild(MonMpeg2); undiv.appendChild(mpeg2); undiv.appendChild( document.createElement('br') ); undiv.appendChild(but); conteneur.appendChild(undiv); numForm++; }
Mais mon bouton ajouter marche pas.....comment celà se faisse???
MiWi86-33
Messages postés
142
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
20 juin 2011
9
4 sept. 2008 à 10:38
4 sept. 2008 à 10:38
<?php $i = 1; $html = '<form method = "post" action = "#">'. '<input type = "hidden" name = "num['.$i.']" value = "'.$i.'"/>'. '<input type="button" id="ajt0" name="ajout0" value="ajouter" style="display:none" onclick="javascript:add(document.getElementById("num['.$i.']").value;)"/>'. '</form>'; // echo $html; ?>
Il ne faudrait pas que le $i passe à un moment à 2 ou à 3?????