Tableaux en javascript, le récupérer en php
MiWi86-33
Messages postés
142
Date d'inscription
Statut
Membre
Dernière intervention
-
MiWi86-33 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
MiWi86-33 Messages postés 142 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai 2 page php et une page javascript :
dans ma page javascript j'ai
il y a un premier traitement dans la premier page php, mais aucun traitement, en tt cas, je n'y pas, et s'execute grace a un input type button.
cette premiere page php après soumission renvoie à une deuxième page php qui elle va s'occuper des traitements.
sur cette deuxième page je fais :
mais ça ne marche pas, le TabNumForm[1] n'est pas "reconnu", comen tça se fait? je n'appelle pas le bonne méthode?
Si quelqu'un peut m'orienter s'il vous plait...ça fait déjà un bout de temps que je cherche je ne suis pas très douée je sais.
Merci d'avance.
j'ai 2 page php et une page javascript :
dans ma page javascript j'ai
var TabNumForm = new Array("a","b","c","d") //liste de test
il y a un premier traitement dans la premier page php, mais aucun traitement, en tt cas, je n'y pas, et s'execute grace a un input type button.
cette premiere page php après soumission renvoie à une deuxième page php qui elle va s'occuper des traitements.
sur cette deuxième page je fais :
if (isset($_POST['TabNumForm[1]']))
mais ça ne marche pas, le TabNumForm[1] n'est pas "reconnu", comen tça se fait? je n'appelle pas le bonne méthode?
Si quelqu'un peut m'orienter s'il vous plait...ça fait déjà un bout de temps que je cherche je ne suis pas très douée je sais.
Merci d'avance.
A voir également:
- Comment se faisse
- Recuperer message whatsapp supprimé - Guide
- Mise en forme tableau word - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment récupérer un compte facebook piraté - Guide
12 réponses
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
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
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
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
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....
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.
"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é...
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" />
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???
<?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?????