Checkbox grisée javascript

Résolu
omlaly - 9 févr. 2013 à 14:11
 omlaly - 15 févr. 2013 à 13:48
Bonjour

Je souhaiterais, grâce à une CHECKBOX, griser ou non un champ texte tout simple (
). Il sera souvent grisé mais je voudrais avoir la possibilité de le "dégrisé" grâce à une CHECKBOX. J'ai essayé de faire une fonction JAVASCRIPT mais qui ne marche pas, je vous la donne :

<script type="text/javascript" language="javascript"> 
function choix_auteur_article() 
{ 
if(auteur_article.checked) 
{ 
document.getElementById(auteur_article).checked = true; 
} 
else 
{ 
document.getElementById(auteur_article).checked = false; 
} 
} 
</script> 


J'appelle la fonction grâce à :



Avez-vous des idées ?

En attendant vos réponses, je continue mes recherches...
Cordialement

11 réponses

cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
15 févr. 2013 à 13:28
if (me.checked)
   mytext.setAttribute("readonly", "readonly");
else
   mytext.removeAttribute("readonly");


Va falloir apprendre à te servir de google, y'aura pas toujours quelqu'un pour coder pour toi.
3
cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
11 févr. 2013 à 10:12
Salut,

dans ton code tu regardes si ta TextBox est Checked (ce qui n'a pas de sens) et non ta CheckBox.
0
Bonjour jopop,

auteur_article est un champs texte simple (
. Je voudrais simplement en appuyant sur la checkbox qu'il soit grisé/dégrisé.

Par défault, il est grisé.

Cordialement
0
cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
14 févr. 2013 à 18:40
Comme j'ai la flemme de t'apprendre à pêcher, je vais te filer un poisson.

<script type="text/javascript">
function Switch(me) {
  var mytxt = document.getElementById("txt");
  mytxt.disabled = me.checked;
}
</script>

0

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

Posez votre question
Merci jopop, ça marche !

Cordialement
0
Petite rectification : tout marche sauf que la requête SQL (
$req_insertion_articles = "INSERT INTO articles (nom_village,nom_categorie, date_depot, titre_article, texte_article, auteur_article) VALUES ('$villages','$categorie', now(), '$titre_article', '$texte_article', '$auteur_article')";
$query_insertion_articles = mysql_query($req_insertion_articles) or die ('Erreur sur la requête SQL concernant l\'insertion des articles'.mysql_error()); // Envoie une requête à un serveur MySQL
) n'enregistre pas le champs texte "auteur_article" s'il est grisé (
disabled=true

. S'il est normal (pas grisé), elle enregistre son contenu.

Comment faire pour que la requête SQL enregistre son contenu quelque soit son état (grisé ou pas grisé) ?

Cordialement
0
cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
15 févr. 2013 à 11:59
Un contrôle disabled n'est pas posté, préfère l'attribut readonly.
0
Ok mais si je l'utilise, je ne vais plus pouvoir écrire quand la checkbox sera cochée dedans après, non ?

Il faut modifier la fonction JAVASCRIPT maintenant, non ?

Cordialement
0
cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
15 févr. 2013 à 13:02
Ben oui ... j'ai l'impression que tu codes les yeux fermés, je me trompe ?
0
Ok, c'est quel attribut qu'il faut utiliser en JAVASCRIPT ?

Je ne suis pas trop doué en JAVASCRIPT !

Cordialement
0
Merci bien jopop !

Oui, il faudra que je m'améliore !

Pour info, voici la fonction :
function Switch(me) {
if (me.checked)
   document.getElementById("auteur_article").setAttribute("readonly", "readonly");
else
   document.getElementById("auteur_article").removeAttribute("readonly");
}


Cordialement
0