AccueilAideRechercherIdentifiez-vousInscrivez-vous

Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Mai 2012 à 03:56:31

Connexion avec identifiant, mot de passe et durée de la session
Rechercher
    avancée

News

Stats
8763 Messages dans 1087 Fils de discussion par 1002 Membres
Dernier membre: emilie
+  PHP Astux
|-+  Langages Web
| |-+  (x)HTML, CSS, JS (client)
| | |-+  boucle for + javascript
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: boucle for + javascript  (Lu 5754 fois)
hmayda
Néophyte
*
Sexe: Femme
Messages: 8



« le: 20 Novembre 2007 à 15:03:50 »

Bonjour,

j'ai cree un formulaire qui champs nbr de composant
Code:
<form name="form"  action="page2.php" method="post"  onSubmit="return Test()"><input name="comp" type="text" id="comp" onblur="update_march('roul',this.value,'roul')" value="0" size="3" />
<br><br><div id="roul"></div>
        </div></form>

Entre <head></head> je met le code de mon fonction :
Code:
<script>
nlignes=document.form.comp.value;
function update_march(div,val,nom){
var srt = ""
if(val != 0 ){
var srt = "<table class=\"tab\" width=\"100%\"><tr><td>Référence</td><td>Nom</td></tr>"
}
for(var i=0; i<val;i++){
srt += "<tr><td><input name=\"ref_"+i+"\" type=\"text\" id=\"ref_"+i+"\" size=\"10\" /></td><td><input name=\"nom_"+i+"\" type=\"text\" id=\"nom_"+i+"\" size=\"10\" /></td><td><tr>"
}
if(val != 0 ){
srt += "</table>" }
document.getElementById(div).innerHTML = srt
}
</script>
cet code fonctionne bien , mais je veut faire un test sur le champs ref et nom si vide ou non à l'aide de javascipt
je cree la fonction Test() mais il contin des eurre
Voici mon script:
Code:
<script type="text/javascript">
function Test()
{
 if(document.form.comp.value >0) {
var comp=document.form.comp.value;
for (var i==0; i<comp; i++)
{
       if(document.form.refcomp_+i+.value=="")
   {
   alert("Veuillez entrer  ref svp!");
       document.form.ref_+i+.focus();
    return false;
}}} } 
</script>
Qui peut aide svp ?
Merci
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #1 le: 20 Novembre 2007 à 21:40:40 »

Salut,
j'ai eu un peu de mal à comprendre déjà à cause de l'explication qui n'est pas très claire.

dire "il y a des erreurs", c'est bien, dire lesquelles, c'est mieux : on sait par où commencer les investgations ...

Ton document a plein de petites imprécisions, parce que <script> tout seul ne veut rien dire... il y a plusieurs types de script : Javascipt, VBscript, etc. Donc si c'est du JS, précise-le comme ceci :
Code:
<script type="text/javascript">

Ensuite, document.form.machin => à quoi cela te sert-il de t'être cassé la tête à créer des id si c'est pour ne pas s'en servir ?
au lieu de document.forms.machin, utilise document.getElementById('id_du_champ'), c'est un pointeur direct.

Ton code initial contient une erreur : <br><br><div id="roul"></div> </div> pourquoi 2 fois </div> alors qu'il n'est ouvert qu'une seule fois ?

dans ta fonction JS :
Code:
function update_march(div,val,nom){
à quoi sert le paramètre nom ?

pareil, toujours dans cette fonction à la fin de la ligne générée en boucle :
Code:
size=\"10\" /></td><td><tr>"
un <td> ne peut pas contenir de <tr> ... Donc là il risque d'y avoir des erreurs d'affichage.

Enfin, dans ta dernière partie, tu as écrit :
Code:
for (var i==0; i<comp; i++)
je pense qu'il y a un signe = en trop.
Journalisée

hmayda
Néophyte
*
Sexe: Femme
Messages: 8



« Répondre #2 le: 21 Novembre 2007 à 12:27:37 »

Bonjour ,
Merci
Ce que je veut faire, c'est accéder à un formulaire nommé ref_i, avec i un entier. Donc, comme indiquer cette scripte :

Code:
<script type="text/javascript">
function Test()
{
 if(document.form.comp.value >0) {
var comp=document.form.comp.value;
for (var i==0; i<comp; i++)
{
 if(document.form.refcomp_+i+.value=="")
{
alert("Veuillez entrer ref svp!");
 document.form.ref_+i+.focus();
return false;
}}} }
</script>
mais mon scripte ne fonctionne pas  .
je ponse que l'eurre vient cette instruction : document.form.refcomp_+i+.value

Merci  encors
Journalisée
Matthieu
Administrateur
Membre Héroïque
*
Sexe: Homme
Messages: 3461


Unreal Power...


WWW
« Répondre #3 le: 21 Novembre 2007 à 12:30:42 »

et avec document.getElementById('ref_' + i ).value ?

mais je persiste sur le double signe égal.
Journalisée

Pages: [1]   Haut de page
Imprimer
Aller à:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Amber design by Bloc | XHTML | CSS