Recupération des valeur s de champs de saisie generer par js
cs_daris
Messages postés49Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention17 février 2009
-
25 avril 2008 à 10:51
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 2009
-
25 avril 2008 à 14:28
Bonjour,
J'avais déjà eu des échanges au sujet de mon code ci dessous.
par contre, je n'ai aucune idée de l'algorithme pour recuperer la valeur que l'utilisateur à saisie dans les champs input qui ont été generer dans le but de faire des insertion dans ma base de données.
<HTML>
<HEAD>
<script language=javascript>
//var cpt_input ;
function ajout_input()
{
var maxValue = document.getElementById('idduchamp').value;//L'évènement onchange ne se ferra qu'une seule fois par demande.
document.getElementById("inputs").innerHTML = "";
for(i =1;i<=maxValue;i++ ){
var text = '<tr><td nowrap="nowrap">Horizon :</td><td></td> <td>Quantité : </td></tr>
';
document.getElementById("inputs").innerHTML += text;
}
}
</script>
</HEAD>
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 25 avril 2008 à 11:13
Bonjour,
Dans text tu as les mêmes nom et les mêmes id pour chaque input que tu vas créer il font donc changer pour ça donne la valeur en fonction du i par exemple pour avoir un nom/id unique.
et après tu pourra facilement les récuperer (avec les expression reguliere tu récupere tout ce qui commence par horizon par exemple)
>>Merci si vous avez une piste pour moi.
De rien ;-)
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 avril 2008 à 11:13
Bonjour,
>> name="horizon'+ maxValue + '"id="test'+ maxValue
un ID doit être unique dans une page !
comme ici tu crée le même c'est inexploitable.
pour le name
document.name_du_formulaire.name_du_text[indice].value
et comme name_du_text est "variable", tu te compliques la vie....
fait ...name="toto" id="tata'+i+'"...
et tu pourras utiliser
document.name_formulaire.toto[de 0 à document.name_formulaire.toto.length-1].value
ou
document.getElementById("tata"+indice].value
cs_daris
Messages postés49Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention17 février 2009 25 avril 2008 à 11:20
Tu veux dire que je dois faire :
var i; for(i =1;i<=maxValue;i++ ){
var text =
'<tr><td nowrap="nowrap">Horizon
:</td><td></td> <td>Quantité : </td></tr>
';
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 avril 2008 à 11:28
salut maelob ! comme nul ne rafraîchit les pages.... ça ne peut qu'arriver.
daris : non, je n'ai pas dit cela.
j'ai proposé de mettre le même name et un id différent qui s'incrémente
en plus ton i c'est du string, pas une valuer.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 avril 2008 à 11:35
on est presque synchrone maelob.
j'urais simplement mis le même name.... sans i, qui me semble inutile
et moins simplement exploitable après
<hr /> Cordialement Bul [mon Site] [M'écrire]
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 25 avril 2008 à 11:40
Ben daris veut recuperer les champs pour les entrer dans sa bd j'ai suposé (avec ma boule de cristal :-p) qu'il allait utiliser un language coté serveur donc qu'il fallait un name different.
Mais bon ma boule de cristal m'a peut être menti :-D il veut peut être le faire en ajax et dans ce cas juste l'id different c'est bon
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 avril 2008 à 11:44
>>qu'il allait utiliser un language coté serveur donc qu'il fallait un name different.
je n'avais pas pensé à cela ! tu as sûrement raison
pour plus de simplicité coté serveur... mettre le même name ;o)) avec des crochets !
name="toto[]" comme ça sur le serveur on récupère un array.
coté javascript on utilise document.name_formulaire["toto[]"][indice].value
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 25 avril 2008 à 12:32
daris,
La notation que t'as donné bul c'est pour récuperer les input sous forme de tableau.
Quand tu validedera le formulaire tu obtiendra un tableau d'horizon où $_POST/GET['horizon'][0] sera le premier horizon.
<hr size="2" width="100%" />
Maelo ou Elo --> Mon blog
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. (Jacques Prévert)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 avril 2008 à 12:40
exact maelob
remarque que comme Daris veut faire ça avec ajax ( ? est-ce nécessaire ? )
ça va lui être difficile d'utiliser un formulaire ! ;o)
<hr /> Cordialement Bul [mon Site] [M'écrire]