Détecter une partie d'un select
Bonjour à tous,
une fois de plus je viens solliciter votre aide précieuse :mouarf:
j'aimerai savoir si il est possible de pouvoir détecter avec javascript simplement le début d'une valeur sélectionnée dans un select.
Pour simplifier mes comparaisons ( voir suite du post après le code )
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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
<html>
<head>
<title></title>
<SCRIPT language="JavaScript">
<!--
function Controle_select_2()
{
var valeur = document.form_elem_2.qte_compose.value;
var reg = new RegExp("[^0-9]", "gi" );
if((document.form_elem_2.element_1.value=='FD Imposte Fixe')&&(document.form_elem_2.element_2.value=='FY Imposte Fixe')) // 1
{
alert('Eléments non compatibles !');
}
else if(document.form_elem_2.element_1.value=='') // 1
{
alert('Vous devez selectionner un produit dans votre élément 1 !');
}
else if(document.form_elem_2.element_2.value=='') // 1
{
alert('Vous devez selectionner un produit dans votre élément 2 !');
}
else if(document.form_elem_2.qte_compose.value=='')
{
alert('Merci d\'indiquer la quantité de châssis composé(s)!');
document.form_elem_2_compose.focus();
}
else if(valeur.match(reg))
{
alert('Merci d\'indiquer une nombre entier ( sans point ) !');
document.form_elem_2.qte_compose.focus();
}
else if(document.form_elem_2.qte_compose.value==0) // 3
{
alert('Désolé mais vous ne pouvez pas indiquer une quantité à zéro !');
document.form_elem_2.qte_compose.focus();
}
else if(isNaN(document.form_elem_2.qte_compose.value)) // 2
{
alert('Merci d\'indique un nombre numérique !');
document.form_elem_2.qte_compose.focus();
}
else if(isNaN(document.form_elem_2.temp_ad.value)) // 2
{
alert('Merci d\'indique un nombre numérique !');
document.form_elem_2.temp_ad.focus();
}
else
{
document.form_elem_2.method = "POST";
document.form_elem_2.action = "index_valide.php?page=ajouter_compose&action=etape_4&client=<?php echo $client; ?>&utilisateur=<?php echo $utilisateur; ?>";
document.form_elem_2.submit();
}
}
//-->
</script>
</head>
<body>
<FORM name=form_elem_2 method="post">
Element 2 :
<select name="element_2" >
<option value=""></option>
<optgroup label="Gamme GBI">
<option>GBI 2vtx</option>
<option>GBI 3vtx</option>
<option>GBI 4vtx</option>
</optgroup>
<optgroup label="Gamme GY">
<option>GY 2vtx</option>
<option>GY 3vtx</option>
<option>GY 4vtx</option>
</optgroup>
<optgroup label="Gamme GAM ">
<option>GAM 2vtx</option>
<option>GAM 3vtx</option>
<option>GAM 4vtx</option>
</optgroup>
<optgroup label="Gamme FD">
<option>FD Imposte Fixe</option>
<option>FD Allège Fixe</option>
<option>FD Fixe Latéral</option>
<option>FD 1vtl</option>
<option>FD 2vtx</option>
<option>FD 1vtl OB</option>
<option>FD 2vtl OB</option>
</optgroup>
<optgroup label="Gamme FY">
<option>FY Imposte Fixe</option>
<option>FY Allège Fixe</option>
<option>FY Fixe Latéral</option>
<option>FY 1vtl</option>
<option>FY 2vtx</option>
<option>FY 1vtl OB</option>
<option>FY 2vtl OB</option>
</optgroup>
<optgroup label="Gamme PY">
<option>PY 1vtl</option>
<option>PY 2vtx</option>
</optgroup>
</select>
<br>
Element 1 :
<select name="element_1" >
<option value=""></option>
<optgroup label="Gamme GBI">
<option>GBI 2vtx</option>
<option>GBI 3vtx</option>
<option>GBI 4vtx</option>
</optgroup>
<optgroup label="Gamme GY">
<option>GY 2vtx</option>
<option>GY 3vtx</option>
<option>GY 4vtx</option>
</optgroup>
<optgroup label="Gamme GAM ">
<option>GAM 2vtx</option>
<option>GAM 3vtx</option>
<option>GAM 4vtx</option>
</optgroup>
<optgroup label="Gamme FD">
<option>FD Imposte Fixe</option>
<option>FD Allège Fixe</option>
<option>FD Fixe Latéral</option>
<option>FD 1vtl</option>
<option>FD 2vtx</option>
<option>FD 1vtl OB</option>
<option>FD 2vtl OB</option>
</optgroup>
<optgroup label="Gamme FY">
<option>FY Imposte Fixe</option>
<option>FY Allège Fixe</option>
<option>FY Fixe Latéral</option>
<option>FY 1vtl</option>
<option>FY 2vtx</option>
<option>FY 1vtl OB</option>
<option>FY 2vtl OB</option>
</optgroup>
<optgroup label="Gamme PY">
<option>PY 1vtl</option>
<option>PY 2vtx</option>
</optgroup>
</select>
<br>
Quantité de châssis composé : <input type=text name="qte_compose" size="1">
<br>
Temps additionnel : <INPUT type=text name="temp_ad" size="1">
<input type="button" value="Valider" onClick="Controle_select_2();">
</body>
</html> |
Je voudrais éviter de devoir me taper toutes les comparaisons possible genre ci-dessous
Code:
1 2 3 4 5 6
|
if((document.form_elem_2.element_1.value=='FD Imposte Fixe')&&(document.form_elem_2.element_2.value=='FY Imposte Fixe')) // 1
{
alert('Eléments non compatibles !');
} |
Simplement aviser l'utilisateur et bloquer l'envoie si par exemple FD est pas compatible avec FY
Je ne sais pas si je suis très clair :calim2:
Merci par avance pour votre aide.