begin process at 2012 05 29 04:04:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Comment boucler depuis un input tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment boucler depuis un input tableau

vendredi 11 septembre 2009 à 14:41:39 | Comment boucler depuis un input tableau

moumouf

Bonjour,

J'ai un formulaire avec une boucle php du type :

<input type="checkbox" name="id['.$i.']" id="['.$i.']" value="id['.$i.']"/>
<input type="text" name="my_text[$i]" id="my_text['.$i.']"/>

Comment puis-je vérifier en javascript qu'au moins une cas à été cochée ?

Pour des champs de type id="id[]" j'utilise cette fonction :


function is_selected_box(f,n,libelle) {
var isSel = false;
//recherche si une box a été coché
var arr = f.getElementsByTagName('input');
for(var i = 0; i < arr.length; i++) {
if(arr[i].name == n && arr[i].checked == true) {
isSel = true;
break;
}
}
if(!isSel) {
if(libelle) {
alert(libelle);
} else {
alert('Vous devez séléctionner au moins un élèment');
}
return false;
}
return true;
}



Donc (en js)
comment faire pour savoir si id['.$i.'] existe et comment boucler sur ces champs, sachant que leur nombre peut être variable.

Merci d'avance à ceux qui se pencheront sur mon problème.

vendredi 11 septembre 2009 à 15:00:54 | Re : Comment boucler depuis un input tableau

Bul3

Membre Club




Bonjour,
je suppose qu'il y a une boucle en php....

donc ça donne :
<form name="frm">
<input type="checkbox" name="id[0]" id="[0]" value="id[0]"/>
<input type="text" name="my_text[0]" id="my_text[0]"/>
<input type="checkbox" name="id[1]" id="[1]" value="id[1]"/>
<input type="text" name="my_text[1]" id="my_text[1]"/>
</form>


si j'étais vous, je m'arrangerais plutôt ainsi :
<input type="checkbox" name="chk[]" id="chk'.$i.'" value="id'.$i.'" />
<input type="text" name="my_text[]" id="my_text'.$i.'" />
ce qui devrait donner :

<form name="frm" method="post".... >
<input type="checkbox" name="chk[]" id="chk0" value="0"/>
<input type="text" name="my_text[]" id="my_text0"/>
<input type="checkbox" name="chk[]" id="chk1" value="1"/>
<input type="text" name="my_text[]" id="my_text1"/>
</form>


coté javascript,

on utilise

Code Javascript :
for ( var n=0;n<document.frm["chk[]"].length;n++ )

{ tester document.frm["chk[]"][n].checked }
ou avec les id
Code Javascript :
var n=0;

while ( document.getElementById("chk"+n) )
{ tester document.getElementById("chk"+n).checked
n++
}

coté php, $_POST['chk'] et $_POST['my_text']
sont des array, facile à gérer donc

Cordialement [mon Site] [M'écrire] Bul

vendredi 11 septembre 2009 à 15:07:25 | Re : Comment boucler depuis un input tableau

moumouf

J'ai déjà pensé faire ca mais le soucis et que je ne récupère la valeur du input que si sa box correspondante est cochée.

imaginons que la box1 est coché, la seconde non et la troisieme oui, si je n'utilise pas d'index dans la boucle je suis incapable de savoir a quel champs input correspond la boxe séléctionnée.

Cependant vous avez ouvert un piste :

var n=0;

while ( document.getElementById("chk[n]) )

{ tester document.getElementById("chk[n]).checked

n++

}

vendredi 11 septembre 2009 à 15:19:05 | Re : Comment boucler depuis un input tableau

Bul3

Membre Club


>>je ne récupère la valeur du input que si sa box
>>correspondante est cochée.

euh... n'est transmis au php que les value
des champ qui ont un name
les input texte seront tous transmis,
les checkbox, ceux cochés uniquement
c'est le principe même des échanges
html vers le serveur

vous connaissez le n° du chekbox coché
( mis dans son value ), c'est l'index
de l'input text...

vendredi 11 septembre 2009 à 15:26:33 | Re : Comment boucler depuis un input tableau

Bul3

Membre Club

vous recevrez par exemple , coté php :
$_POST['chk'] = 0,3,5
$_POST['my_text'] = "texte 0","texte 1","texte 2","texte 3","texte 4","texte 5","texte 6"
s'il y a 7 champs texte/chekcbox
et si seules les checkbox 0,3 et 5 sont coché

vendredi 11 septembre 2009 à 15:27:12 | Re : Comment boucler depuis un input tableau

moumouf

a mon avis, vous n'avez pas bien saisi mon pb

<form name="frm" method="post".... >
<input type="checkbox" name="chk[]" id="chk0" value="<?php echo $id; ?>"/> // 127
<input type="text" name="my_text[]" id="my_text0"/>
<input type="checkbox" name="chk[]" id="chk1" value="<?php echo $id; ?>"/> // 480
<input type="text" name="my_text[]" id="my_text1"/>
<input type="checkbox" name="chk[]" id="chk1" value="<?php echo $id; ?>"/> // 23
<input type="text" name="my_text[]" id="my_text1"/>
</form>

1 les valeurs de box sont les id(SQL) de l'element séléctionné donc inconnus. ca peux etre 127 pour le premier et 480 pour le second puis 23 pour le troisieme.

donc si on coche la premiere et la troisieme
on aura en php un tableau id array(0 => 127, 1 => 23)
et un tableau my_text array(0 => valeur element1, 1 => valeur element2, 2 => valeur element3

Ce qui empêche tout rapprochement.

vendredi 11 septembre 2009 à 15:38:43 | Re : Comment boucler depuis un input tableau

moumouf

Réponse acceptée !

Pour conclure et qui me convient parfaitement :

Code Javascript :


function is_selected_multi_box(arr_name) {
var n = 0;
var isSel = false;
while(GetId(arr_name+'['+n+']')) {
if(GetId(arr_name+'['+n+']').checked == true) {
isSel = true;
break;
}
n++;
}
return isSel;
}

vendredi 11 septembre 2009 à 15:40:01 | Re : Comment boucler depuis un input tableau

Bul3

Membre Club

ah.... en mettant ces "indicatifs" comme ça
on ne peut que difficilement, voire pas du tout gérer,
ajouter un input type=hidden dans lequel
vous mettrez en value ces "ID"


$_POST['chk'] = 0,3,5...
$_POST['my_text'] = "t0","t1","t2","t3","t4","t5","6" ...
$_POST['cache']=127,480,23....

vendredi 11 septembre 2009 à 15:47:50 | Re : Comment boucler depuis un input tableau

moumouf

en faisant comme cela c'est possible

puis en php :

foreach($id as $key => $val) {
$my_text[$key];
}

Merci bien pour votre aide !

vendredi 11 septembre 2009 à 15:59:23 | Re : Comment boucler depuis un input tableau

Bul3

Membre Club

effectivement, j'ai oublié
les array associatifs !
nickel si ça baigne.



Cette discussion est classée dans : input, id, boucler, libelle, arr


Répondre à ce message

Sujets en rapport avec ce message

l'id de l'input... [ par Teclis01 ] voilà j aimerais changer la couleur de la case sur laquelle l'utilisateur pointe.chaque case est crée dans une boucle ou son id est unique La question Récupération des champs d'un formulaire dynamique [ par Crabece ] Bonjour à tous,Je vous expose mon problème en essayant d'etre le plus claire possible :Je travaille actuellement sur un site de vente en ligne et mon récuperer l'id d'un input [ par Finality ] Bonjour,je suis en train d'apprendre le javascript. et je bloque deja sur un premier point . En fait je possède un input avec un id. j'aimmerais, quan Monter et descendre un div [ par Also know as ] Bonjour à tous ! Voilà mon petit problème du jour... :                 id="image_0"name= input type file sur opera [ par fonetiklilian ] lilian DOM, id et position [ par Teclis01 ] Bonzourrrrr Je fais une petite application pour un jeu en php/mysql/js/.... et j'ai besoin d'un petit coup de pouce pour le DOM <img sr forcer majuscule dans input [ par ju_p ] Bonjour à tous,Je souhiate, dans un formulaire, mettre en place un input qui transforme toutes les données entrées par l'utilisateur en majuscule.Alor Vérification de formulaire [ par Allan007 ] Bonjour à tous,je débute en JS, j'ai récupérer par ci et par la des vérifications de formulaire pour me donner une idée puis j'en ai fait un a ma sauc Ajouter un Div dans un li [ par yanis7518 ] Salut a tous je souhaiterais pouvoir créer et ajouter des div dans des balises li créées dynamiquementvoici mon code    var newLi= document.createElem pb className sous IE7 [ par kakol ] Bonjour,Voici mon problème : j'ai un tableau nommé "table1". Lorsque je clique sur une ligne, j'applique un style "highlight" de ma feuille css qui pe


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales