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>