Test d'un input text dynamique avec js
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:
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> |