Modifier un <input /> Javascript
Résolu
PandaHugsU
Messages postés
17
Statut
Membre
-
PandaHugsU Messages postés 17 Statut Membre -
PandaHugsU Messages postés 17 Statut Membre -
Bonjour,
Eh bien voila mon problème (simplifié) j'ai une liste déroulante qui donne soit "Voiture" soit "2 roues".
Et je veux choisir avec un <input type='number'> le nombre de passagers dans le véhicule.
Vous l'aurez compris soit number vas de 1 a 5 pour la Voiture soit de 1 a 2 pour les 2 roues. Mais, j'arrive pas a modifier le max de l'input number ...
Mon code Javascript :
function passager_2roues(CECI){
if( CECI=='2 roues'){
document.getElementByID('passager').max = '2';
}else{
document.getElementByID('passager').max = '5';
}
}
Mon code HTML
<form name='formulaire' ....>
<p>Vehicule :
<select name='List1' onchange="passager_2roues(this.value)">
<option selected>Voiture</option>
<option selected>2 roues</option>
</select><br />
</p>
<p>Nombre de passagers :
<input type='number' step='1' min='1' max='5' id='passager' value='1' />
</p>
</form>
Voila c'est possible que j'ai fait des erreurs en simplifiant la syntaxe mais le problème ce n'est pas la syntaxe c'est que je ne sait pas comment appeler dans la fonction la variable max pour la modifier en fonction du choix de véhicule et surtout si c'est possible de le faire ...
En espérant avoir été assez clair ^_^.
Merci d'avance pour les réponses =)
Panda.
Eh bien voila mon problème (simplifié) j'ai une liste déroulante qui donne soit "Voiture" soit "2 roues".
Et je veux choisir avec un <input type='number'> le nombre de passagers dans le véhicule.
Vous l'aurez compris soit number vas de 1 a 5 pour la Voiture soit de 1 a 2 pour les 2 roues. Mais, j'arrive pas a modifier le max de l'input number ...
Mon code Javascript :
function passager_2roues(CECI){
if( CECI=='2 roues'){
document.getElementByID('passager').max = '2';
}else{
document.getElementByID('passager').max = '5';
}
}
Mon code HTML
<form name='formulaire' ....>
<p>Vehicule :
<select name='List1' onchange="passager_2roues(this.value)">
<option selected>Voiture</option>
<option selected>2 roues</option>
</select><br />
</p>
<p>Nombre de passagers :
<input type='number' step='1' min='1' max='5' id='passager' value='1' />
</p>
</form>
Voila c'est possible que j'ai fait des erreurs en simplifiant la syntaxe mais le problème ce n'est pas la syntaxe c'est que je ne sait pas comment appeler dans la fonction la variable max pour la modifier en fonction du choix de véhicule et surtout si c'est possible de le faire ...
En espérant avoir été assez clair ^_^.
Merci d'avance pour les réponses =)
Panda.
A voir également:
- Input number in javascript
- Dc in - Forum Audio
- Deco in paris avis ✓ - Forum Consommation & Internet
- Navigation in private - Guide
- Aux in ✓ - Forum Enceintes / HiFi
- Peut-on brancher un casque sur une prise auxiliaire ? - Forum Casque et écouteurs
2 réponses
Bonjour
Tu as mal écrit getElementByID, c'est getElementById (avec un d minuscule)
Mais surtout, la propriété 'max' n'existe pas à ma connaissance, donc document.getElementById('passager').max = '2'; ne fait rien.
Si tu utilises un select aussi pour passager, tu peux peut-être le redéfinir en fonction du choix du véhicule
Tu as mal écrit getElementByID, c'est getElementById (avec un d minuscule)
Mais surtout, la propriété 'max' n'existe pas à ma connaissance, donc document.getElementById('passager').max = '2'; ne fait rien.
Si tu utilises un select aussi pour passager, tu peux peut-être le redéfinir en fonction du choix du véhicule
En effet, je suis en retard d'une version de HTML. Mais je me soigne :D
J'ai ajouté un <div id='test'></div> dans la page et document.getElementById('test').innerHTML=document.getElementById('passager').max; à la fin de ton script. La propriété max a bien l'air d'être enregistrée dans javascript, mais elle est sans action sur le fait qu'on puisse ou non saisir un nombre en dehors des limites.
D'après http://www.w3schools.com/html5/att_input_max.asp, il n'y a que Chrome et Opera qui testent vraiment le dépassement du max. J'ai fait l'essai, je confirme pour Chrome (pas pendant la saisie mais au moment de valider le formulaire)
J'ai ajouté un <div id='test'></div> dans la page et document.getElementById('test').innerHTML=document.getElementById('passager').max; à la fin de ton script. La propriété max a bien l'air d'être enregistrée dans javascript, mais elle est sans action sur le fait qu'on puisse ou non saisir un nombre en dehors des limites.
D'après http://www.w3schools.com/html5/att_input_max.asp, il n'y a que Chrome et Opera qui testent vraiment le dépassement du max. J'ai fait l'essai, je confirme pour Chrome (pas pendant la saisie mais au moment de valider le formulaire)
Mais alors la vas savoir pourquoi je relance mon programme ce matin et ca marche !!! Avec ce que j'avais posté dans mon message principal ...
Bon je touche plus a rien la solution c'est :
function passager_2roues(CECI){
if( CECI=='2 roues'){
document.getElementById('passager').max = '2';
}else{
document.getElementById('passager').max = '5';
}
}
Pour le javascript il arrive a pointé la propriété "max" et change sa valeur.
Merci tout de même de t'être penché sur la question =).
A+ sur le forum.
Bon je touche plus a rien la solution c'est :
function passager_2roues(CECI){
if( CECI=='2 roues'){
document.getElementById('passager').max = '2';
}else{
document.getElementById('passager').max = '5';
}
}
Pour le javascript il arrive a pointé la propriété "max" et change sa valeur.
Merci tout de même de t'être penché sur la question =).
A+ sur le forum.
La propriété 'max' de l'input type number existe belle et bien, elle modifier comme step='' et min='' , pour le pas et le début du menu number, mais je n'arrive pas a la modifié avec le script ...
Faire un seconde liste déroulante me plais moyennement estetiquement parlant sachant que j'en ai deja 3 assez longue et que pour seulement 5 chiffre ou 2 je trouvais ca bete ^_^.
Merci encore pour la réponse rapide.