Javascript pour rendre un champ non saisissab

Résolu/Fermé
michelB - 25 déc. 2007 à 15:06
 michelB - 25 déc. 2007 à 17:33
Bonjour,

Je m'éclate la tête à essayer de comprendre. Je débute en Javascript et c'est pourtant quelquechose qui semble facile.
J'ai créé un formulaire comportant
- un champ select comprenant plusieurs options.
- un champ text dont je voudrais qu'à l'ouverture du formulaire il soit non saisissable.

Je voudrais que le champ text devienne saisissable lorsque le champ select prend l'option 2 par exemple et qu'il reste non saisissable pour toutes les autres valeurs du champ select.

Comment faire ?

Merci de votre aide

6 réponses

Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 2 779
25 déc. 2007 à 17:05
Alors adapte le test
if (option != "Faites un choix") {
  /* en ôtant les // l'input redevient accessible
     sinon, il se remplit mais reste inaccessible */
   //res.disabled=false;
   res.value=txt;
  }
Ici, il teste si le choix est différent de "Faites un choix".

Tu lui peux indiquer d'activer le champ si telle ou telle valeur est choisie dans la liste.
Par exemple
if (option == 2) {
   res.disabled=false;
   res.focus();
  }

--
7
Salut ,

Bon moi aussi je debute en javascript mais je peux toujours essayer !
Si tu utilise une boitetext pour afficher ton texte dans ton formulaire , pour qu elle soit desactivée , il te suffit de rajouter l attribut disable=disable ( ou "disable" ) , dans ta balise input , ensuite , dans ton javascript , tu n auras plus qu a indiquer au moment voulue : disable = " " ( ou la valeur par defaut de l attribut disable )

J espere avoir repondu a ta question sur ce joyeux noel
3
Merci Gihef de cette réponse si rapide.

Je vais me pencher sur le code mais cela ne répond pas exactement à mon problème, car dans ton exemple, tu saisis par programation le champ text désactivé.
Ce que je que je cherche est de rendre ce champ text directement saisissable lorsqu'une valeur déterminée du champ select est sélectionnée.
3
Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 2 779
25 déc. 2007 à 16:14
Bonjour,

En me basant sur un exemple trouvé chez w3schools, j'ai bricolé ce script qui désactive l'<input> au chargement de la page et permet de le remplir (ici, ça ajoute les choix) si quelque chose est choisi dans la liste.
Il peut rester désactivé ou non.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>DOM - Désactiver/Activer un input</title>
<script type="text/javascript">
function copieChoix()
{
var no = document.getElementById("no");
var res = document.getElementById("result");
var option = no.options[no.selectedIndex].text;
var txt = res.value;
txt = txt + option;
if (option != "Faites un choix") {
  /* en ôtant les // l'input redevient accessible
     sinon, il se remplit mais reste inaccessible */
   //res.disabled=false;
   res.value=txt;
  }
}
</script>
</head>

<body onLoad='document.getElementById("result").disabled=true;'>
<form action="">
<br><br>
<select id="no" onChange="copieChoix()" >
  <option>Faites un choix</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
  <option>7</option>
  <option>8</option>
  <option>9</option>
</select>
<input type="button" onclick="copieChoix()" value="Ajouter -->"> 
<input type="text" id="result" size="20">
</form><br><br><br>
<p style="font-size:85%">En réponse à
  <a href="http://www.commentcamarche.net/forum/affich 4410827 javascript pour rendre un champ non saisissab#0">
  Javascript pour rendre un champ non saisissab</a>
</p>
</body>
</html>

Rappel : Si Javascript est désactivé dans le navigateur, ça ne marche plus.

--
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CA MARCHE !!!

Merci beaucoup Gihef
2
Gihef Messages postés 5150 Date d'inscription mercredi 20 juillet 2005 Statut Contributeur Dernière intervention 20 février 2023 2 779
25 déc. 2007 à 17:16
(-:

Résolu, on peut considérer que c'est résolu alors ?

--
2
Où trouve-t-on cette option pour dire que le pb est résolu ?
0