Bonsoir,
J'ai un probl�me avec le test d'un input text dynamique. En effet, dans le code ci-joint l'utilisateur peut � son gr�e ajouter ou pas des �l�ments AutreNo...le souci est que je n'arrive pas � trouver la bonne parade me permettant de v�rifier que les champs (pouvant varier de 1 � 5) sont de type num�rique... en gros j'aimerais pouvoir effectuer le m�me test que l'input type NoContenant (qui lui fonctionne), le champ de ce dernier devient jaune si la saisie n'est pas num�rique (ex.: toto).
Qui a une id�e sur comment contrer cette probl�matique ?
Je vous remercie d'avance pour votre aide.
A+
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 <html> <head> <title>Test de vérification de formulaire</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <script language="javascript"> //<-- function couleur(obj) { obj.style.backgroundColor = "#FFFFFF"; } function check() { var msg = ""; if (document.form1.NoContenant.value != "") { var valeur = document.form1.NoContenant.value; if(!(/^\d+$/.test(valeur))) { msg += "Veuillez saisir un numéro\n"; document.form1.NoContenant.style.backgroundColor = "#F3C200"; } } var AutreNo = document.getElementById('T_INSERT'); var issue = 0; for (var i=0; i<AutreNo.rows.length; i++){ alert(AutreNo.value); if(!(/^\d+$/.test(AutreNo.rows.value))){ issue = 1; } } if (issue == 1) { msg += "Veuillez saisir un numéro\n"; } if (msg == "") return(true); else { alert(msg); return(false); } } var Compteur = 0; function Delete_Ligne( obj_){ var Parent; var Obj = obj_; if( Obj){ do{ //-- tant que pas la balise <TR> Obj = Obj.parentNode; }while( Obj.tagName != "TR") Parent = Obj.parentNode; //-- Recup du parent if( Parent){ //-- Suppression de la ligne Parent.deleteRow( Obj.rowIndex) --Compteur; } } } function Create_Ligne(){ if (Compteur <5){ //-- compteur pour limiter le nb de champ texte à 5 max var O_Table = document.getElementById('T_INSERT'); //-- Get objet tableau var NbrLigne = O_Table.rows.length; //-- Get nombre de ligne du tableau var Pos = NbrLigne; //-- Position d'insertion O_Row = O_Table.insertRow( Pos); //-- Insertion d'une ligne Compteur++; //-- Insertion d'une cellule O_Cell = O_Row.insertCell(0); //-- Insertion d'une autre cellule O_Cell.innerHTML = 'Autre N°:'; O_Cell = O_Row.insertCell(1); O_Cell.innerHTML = '<input type="text" name="AutreNo[]" size="5" />'; O_Cell = O_Row.insertCell(2); O_Cell.innerHTML = '<input type="button" value=" - " onClick="Delete_Ligne(this)">'; } } //--> </script> <form action="page.html" method="post" enctype="application/x-www-form-urlencoded" name="form1" onSubmit="return check();"> <table> <td>Numéro: <input type="text" name="NoContenant" size="4" onKeyUp="javascript:couleur(this);" /></td> </tr> </table> <table border="0"> <table id="T_INSERT"> <tr> <td>Autre N°:</td> <td><input type="text" name="AutreNo[]" size="5"/> <td><input name="button" type="button" onClick="Create_Ligne()" value=" + "> </tr> </table> <input type="submit" name="Submit" value="Envoyer"> </form> </body> </html>
Partager