[javascript] checkbox textarea
Fermé
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
-
24 juil. 2009 à 14:35
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 4 août 2009 à 15:08
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 4 août 2009 à 15:08
A voir également:
- [javascript] checkbox textarea
- Telecharger javascript - Télécharger - Langages
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Node.js javascript runtime virus ✓ - Forum Virus
- Erreur #125 javascript - Forum Mozilla Firefox
- Vba checkbox value ✓ - Forum Excel
18 réponses
Heryu
Messages postés
567
Date d'inscription
mercredi 15 juillet 2009
Statut
Membre
Dernière intervention
28 juin 2016
62
24 juil. 2009 à 14:51
24 juil. 2009 à 14:51
Faudrait faire un genre de if(chekbox.checked), alors ca envoie ton texarea ! (javacript ?)
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
24 juil. 2009 à 15:43
24 juil. 2009 à 15:43
Bah javascript oui car en fait quand on désactive la checkbox je voudrais que le textarea ce vide et quand on l'active et bien elle soit remplie des infos du "cat".
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
28 juil. 2009 à 10:45
28 juil. 2009 à 10:45
Personne ne saurait faire ça ?
Merci.
Cordialement,
Merci.
Cordialement,
resalut
Messages postés
784
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
21 janvier 2010
55
28 juil. 2009 à 10:47
28 juil. 2009 à 10:47
tu veux un explication ou le code ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
28 juil. 2009 à 15:48
28 juil. 2009 à 15:48
Bah le code et l'explication ça sera l'idéal :-)
Merci.
Cordialement,
Merci.
Cordialement,
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 juil. 2009 à 16:11
28 juil. 2009 à 16:11
<td>
<input type="checkbox" name="RDD" value="case1" CHECKED> Qualification<br>
<textarea name="rodd" rows="20" cols="20">$(cat liste | grep RD10D)</textarea></td>
attention il te manquait la value de la checkbox
et tu recuperes par:
<?php
if(isset($_POST['case1']) && $_POST['case1'] =="case1"){
// si la case est cochée:
$rodd=$_POST['rodd']; //tu recupères la valeur qui est dans le textarea
}else{
$rodd = ""; //sinon vide
}
<input type="checkbox" name="RDD" value="case1" CHECKED> Qualification<br>
<textarea name="rodd" rows="20" cols="20">$(cat liste | grep RD10D)</textarea></td>
attention il te manquait la value de la checkbox
et tu recuperes par:
<?php
if(isset($_POST['case1']) && $_POST['case1'] =="case1"){
// si la case est cochée:
$rodd=$_POST['rodd']; //tu recupères la valeur qui est dans le textarea
}else{
$rodd = ""; //sinon vide
}
vincent170186
Messages postés
316
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
28 septembre 2012
52
28 juil. 2009 à 16:16
28 juil. 2009 à 16:16
salut l'ami....
alors sans passez par javascript ya moyen....
sur ta page php il te sufiit de mettre un if
on prend le cas ou ta chekbox a une value =1 (dans mon exemple on l'appellera checkbox et texta pour le textarea)
donc si c'est cochez tu enverras 1 sinon rien donc sur ta page php tu met :
<?php
$rodd=$_POST['chekbox'];
if ($rodd=='1')
{ $rodd=$_POST['texta'];}
?>
bon en relisant bien les post j'ai vu que tu voulais que la text area ce vide...
bon la par contre le javascript vas etre obligatoire...
il faut crée une fonction (ici vidtext) qui vide ton texarea
bon on donne une id au textarea (ici texta) et a la checkbox (ici check)en on fait ....(entre 2 balise script bien sur....)
function vidtext ()
if (document.getElementById("chek").checked==false)
{document.getElementById("texta").innerHTML="";
}
aprés si tu veux faire "disparaitre" le texarea plutot que de le vider ça donne
function vidtext ()
if (document.getElementById("chek").checked==false)
{document.getElementById("texta").style.display="none";
}
else
{document.getElementById("texta").style.display="block";
}
ensuite dans ta balise <input type='checkbox' value='1' onclick='vidtext()' />
voila , je suis pas sur que ça repond exactement a ta demande mais bon.... si tu a besoin d'autre chose...n'hesite pas !
alors sans passez par javascript ya moyen....
sur ta page php il te sufiit de mettre un if
on prend le cas ou ta chekbox a une value =1 (dans mon exemple on l'appellera checkbox et texta pour le textarea)
donc si c'est cochez tu enverras 1 sinon rien donc sur ta page php tu met :
<?php
$rodd=$_POST['chekbox'];
if ($rodd=='1')
{ $rodd=$_POST['texta'];}
?>
bon en relisant bien les post j'ai vu que tu voulais que la text area ce vide...
bon la par contre le javascript vas etre obligatoire...
il faut crée une fonction (ici vidtext) qui vide ton texarea
bon on donne une id au textarea (ici texta) et a la checkbox (ici check)en on fait ....(entre 2 balise script bien sur....)
function vidtext ()
if (document.getElementById("chek").checked==false)
{document.getElementById("texta").innerHTML="";
}
aprés si tu veux faire "disparaitre" le texarea plutot que de le vider ça donne
function vidtext ()
if (document.getElementById("chek").checked==false)
{document.getElementById("texta").style.display="none";
}
else
{document.getElementById("texta").style.display="block";
}
ensuite dans ta balise <input type='checkbox' value='1' onclick='vidtext()' />
voila , je suis pas sur que ça repond exactement a ta demande mais bon.... si tu a besoin d'autre chose...n'hesite pas !
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
28 juil. 2009 à 16:30
28 juil. 2009 à 16:30
Merci à toi vincent ! :-)
Je vais regarder ça et si j'ai besoin je reviendrais :-)
Merci.
Cordialement,
Je vais regarder ça et si j'ai besoin je reviendrais :-)
Merci.
Cordialement,
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
28 juil. 2009 à 18:32
28 juil. 2009 à 18:32
Bah en fait j'ai mis ce que tu as mis et ça me fait planter mon navigateur.
J'ai mis dans mon head :
Peut-être que ça vient du fait qu'il y a beaucoup de ligne dans mon fichier que je "cat" non ?
Merci.
Cordialement,
J'ai mis dans mon head :
<script> function vidtext () if (document.getElementById("chrodp").checked==false) { document.getElementById("rodp").innerHTML=""; } </script> <td><INPUT TYPE=checkbox NAME="chrodp" CHECKED value="1" onclick="vidtext()"> Liste<br><TEXTAREA name="rodp" rows=20 cols=20>$(cat liste | grep ROD110P)</TEXTAREA></td>
Peut-être que ça vient du fait qu'il y a beaucoup de ligne dans mon fichier que je "cat" non ?
Merci.
Cordialement,
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
28 juil. 2009 à 18:35
28 juil. 2009 à 18:35
document.getElementById("rodp").innerHTML="";
innerHTML est utiliser pour ecrire dans un div
pour ecrire dans un input il faut utiliser .value
innerHTML est utiliser pour ecrire dans un div
pour ecrire dans un input il faut utiliser .value
document.getElementById("rodp").value="";
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
29 juil. 2009 à 11:23
29 juil. 2009 à 11:23
Ca marche toujours pas et ça me fait encore planter mon navigateur.
Voici mon code :
Voici mon code :
#!/bin/bash echo "Content-type: text/html" echo sudo /usr/bin/refreshlist.sh 2>&1 cat <<EOT <HTML> <HEAD> <TITLE>Interface</TITLE> <script> function vidtext () if (document.getElementById("chrodp").checked==false) { document.getElementById("rodp").value=""; } </script> </HEAD> <BODY BGCOLOR="#EEEEEE"> <H1>Interface </H1> <FORM ACTION=../patch.php METHOD=POST> <table valign=top bgcolor="#FFFFFF" align=center cellspacing=5 cellpadding=5 border=0> <tr><td align=right>Utilisateur: <INPUT TYPE=radio NAME=user VALUE=user1><br><INPUT TYPE=radio NAME=user VALUE=user2></td><td>user1<br>user2</td></tr> <tr valign=top><td colspan=2><table border=0 cellspacing=0><tr BGCOLOR="#DDDDDD"><td align=center colspan=3>Liste</td></tr><tr BGCOLOR="#DDDDDD"> <td><INPUT TYPE=checkbox NAME="chrodp" CHECKED value="1" onclick="vidtext()"> Liste1<br><TEXTAREA name="rodp" rows=20 cols=20>$(cat liste | grep ROD110P)</TEXTAREA></td> <td><INPUT TYPE=checkbox NAME="chrode" CHECKED> Liste2<br><TEXTAREA name="rode" rows=20 cols=20>$(cat liste | grep ROD110E)</TEXTAREA></td> <td><INPUT TYPE=checkbox NAME="chrodd" CHECKED> Liste3<br><TEXTAREA name="rodd" rows=20 cols=20>$(cat liste | grep ROD110D)</TEXTAREA></td> </tr></table></td></tr> <tr valign=top><td align=center colspan=2><INPUT TYPE=SUBMIT VALUE="Patch!"></td></tr> </table> </FORM> </body> EOT
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
29 juil. 2009 à 14:19
29 juil. 2009 à 14:19
En fait déjà j'avais oublié les { } dans la fonction :-)
Maintenant j'ai une erreur via firebug quand je décoche la checkbox :
document.getElementById("chrodp") is null
vidtext()patch.cgi (ligne 7)
function onclick(event) { vidtext(); }(click clientX=348, clientY=245)1 (ligne 2)
[Break on this error] if (document.getElementById("chrodp").checked==false)\n
Maintenant j'ai une erreur via firebug quand je décoche la checkbox :
document.getElementById("chrodp") is null
vidtext()patch.cgi (ligne 7)
function onclick(event) { vidtext(); }(click clientX=348, clientY=245)1 (ligne 2)
[Break on this error] if (document.getElementById("chrodp").checked==false)\n
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
29 juil. 2009 à 15:35
29 juil. 2009 à 15:35
tu uitlises:
document.getElementById(
ça veut dire que tu veux atteindre un objet par son id
ils sont où les id de tes balise <input <textarea ?
alors j'ai commencé à corriger, continue
rajoutes aussi les " " pour la valeur des attributs
et mets les noms des balises html en minuscules exemple:
<input type="text" name="..." id="...." value="..." />
etc...
document.getElementById(
ça veut dire que tu veux atteindre un objet par son id
ils sont où les id de tes balise <input <textarea ?
alors j'ai commencé à corriger, continue
rajoutes aussi les " " pour la valeur des attributs
et mets les noms des balises html en minuscules exemple:
<input type="text" name="..." id="...." value="..." />
etc...
<HTML> <HEAD> <TITLE>Interface</TITLE> <script> function vidtext (){ if (document.getElementById("chrodp").checked==false) { document.getElementById("rodp").value=""; } } </script> </HEAD> <BODY BGCOLOR="#EEEEEE"> <H1>Interface </H1> <FORM ACTION="../patch.php" METHOD="POST"> <table valign=top bgcolor="#FFFFFF" align=center cellspacing=5 cellpadding=5 border=0> <tr><td align=right>Utilisateur: <INPUT TYPE="radio" NAME="user" VALUE="user1"><br> <INPUT TYPE="radio" NAME="user" VALUE="user2"></td><td>user1<br>user2</td></tr> <tr valign="top"><td colspan="2"> <table border=0 cellspacing=0><tr BGCOLOR="#DDDDDD"> <td align="center" colspan="3">Liste</td></tr><tr BGCOLOR="#DDDDDD"> <td><INPUT TYPE="checkbox" NAME="chrodp" id="chrodp" CHECKED value="1" onclick="vidtext()"> Liste1<br><TEXTAREA name="rodp" id="rodp" rows=20 cols=20>$(cat liste | grep ROD110P)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrode" CHECKED> Liste2<br><TEXTAREA name="rode" rows=20 cols=20>$(cat liste | grep ROD110E)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrodd" CHECKED> Liste3<br><TEXTAREA name="rodd" rows=20 cols=20>$(cat liste | grep ROD110D)</TEXTAREA></td> </tr></table></td></tr> <tr valign="top"><td align="center" colspan="2"><INPUT TYPE="SUBMIT" name=" patch" VALUE="Patch!"></td></tr> </table> </FORM> </body>
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
29 juil. 2009 à 17:54
29 juil. 2009 à 17:54
Ah oué je viens de comprendre ! :-) merci pour l'explication alain ! :-)
J'aurai encore 2 questions :
- Et en admettant que j'ai plusieurs textarea avec une checkbox associée, comment on peut faire pour utiliser une seul fonction ? (sans doute mettre id dans une variable non ? mais après faudrait faire une boucle ? )
- Comment on peut faire pour quand on recoche la checkbox le contenu revienne ? car j'ai mis ça et ça marche pas :
Erreur :
Merci.
Cordialement,
J'aurai encore 2 questions :
- Et en admettant que j'ai plusieurs textarea avec une checkbox associée, comment on peut faire pour utiliser une seul fonction ? (sans doute mettre id dans une variable non ? mais après faudrait faire une boucle ? )
- Comment on peut faire pour quand on recoche la checkbox le contenu revienne ? car j'ai mis ça et ça marche pas :
function vidtext (){ if (document.getElementById("chrodp").checked==false) { document.getElementById("rodp").value=""; } else { document.getElementById("rodp").value="$(cat liste | grep ROD110P)"; } }
Erreur :
unterminated string literal [Break on this error] document.getElementById("rodp").value="ROD1101\n patch.cgi (ligne 13) vidtext is not defined function onclick(event) { vidtext(); }(click clientX=351, clientY=300)
Merci.
Cordialement,
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
29 juil. 2009 à 18:50
29 juil. 2009 à 18:50
pour repondre a ta première question, il suffitt de passer les id en arguments à la fonction, et modifier la fonction ainsi:
pour la deuxième question, le javascript s'éxécutant coté client (PC) tu ne peux pas faire de script bash
ou alors
- lors du chargement de la page tu "mémorise" dans une variable javascript le contenu de tes textarea et au check de la case tu le réécrit (un peu lourd !)
ou
- tu passes par de l'AJAX
c'est une fonctionnalité de javascript qui permet d'appeler un script sur le serveur (donc ton script bash cat etc..) et d'écrire la réponse dans la page (sans avoir besoin de la recharger )
<HEAD> <TITLE>Interface</TITLE> <script> function vidtext (id_case,id_textarea){ if (document.getElementById(id_case).checked==false) { document.getElementById(id_textarea).value=""; } } </script> </HEAD> <BODY BGCOLOR="#EEEEEE"> <H1>Interface </H1> <FORM ACTION="../patch.php" METHOD="POST"> <table valign=top bgcolor="#FFFFFF" align=center cellspacing=5 cellpadding=5 border=0> <tr><td align=right>Utilisateur: <INPUT TYPE="radio" NAME="user" VALUE="user1"><br> <INPUT TYPE="radio" NAME="user" VALUE="user2"></td><td>user1<br>user2</td></tr> <tr valign="top"><td colspan="2"> <table border=0 cellspacing=0><tr BGCOLOR="#DDDDDD"> <td align="center" colspan="3">Liste</td></tr><tr BGCOLOR="#DDDDDD"> <td><INPUT TYPE="checkbox" NAME="chrodp" id="chrodp" CHECKED value="1" onclick="vidtext('chrodp','rodp');"> Liste1<br><TEXTAREA name="rodp" id="rodp" rows=20 cols=20>$(cat liste | grep ROD110P)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrode" CHECKED onclick="vidtext('chrode','rode');"> Liste2<br><TEXTAREA name="rode" rows=20 cols=20>$(cat liste | grep ROD110E)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrodd" CHECKED onclick="vidtext('chrodd','rodd');"> Liste3<br><TEXTAREA name="rodd" rows=20 cols=20>$(cat liste | grep ROD110D)</TEXTAREA></td> </tr></table></td></tr> <tr valign="top"><td align="center" colspan="2"><INPUT TYPE="SUBMIT" name=" patch" VALUE="Patch!"></td></tr> </table> </FORM> </body>
pour la deuxième question, le javascript s'éxécutant coté client (PC) tu ne peux pas faire de script bash
ou alors
- lors du chargement de la page tu "mémorise" dans une variable javascript le contenu de tes textarea et au check de la case tu le réécrit (un peu lourd !)
ou
- tu passes par de l'AJAX
c'est une fonctionnalité de javascript qui permet d'appeler un script sur le serveur (donc ton script bash cat etc..) et d'écrire la réponse dans la page (sans avoir besoin de la recharger )
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
3 août 2009 à 16:04
3 août 2009 à 16:04
Merci Alain :-)
Je vais essayer le truc que tu m'a dis et je vais me renseigner sur les 2 choix que tu proposes :-)
Merci.
Cordialement,
Je vais essayer le truc que tu m'a dis et je vais me renseigner sur les 2 choix que tu proposes :-)
Merci.
Cordialement,
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
3 août 2009 à 21:12
3 août 2009 à 21:12
tiens une des solutions:
l'autre c'est avec AJAX
<HEAD> <TITLE>Interface</TITLE> <script type="text/javascript"> //variables de memorisation var textarea1; var textarea2; var textarea3; function vidtext (id_case,id_textarea,textarea){ var variable=eval('textarea'+textarea); //creation nom variable en fct du textarea if (document.getElementById(id_case).checked==false){ variable =document.getElementById(id_textarea).value; //on memorise avant d'effacer document.getElementById(id_textarea).value=""; } if (document.getElementById(id_case).checked==true){ document.getElementById(id_textarea).value=variable; } return variable; } </script> </HEAD> <BODY BGCOLOR="#EEEEEE"> <H1>Interface </H1> <FORM ACTION="../patch.php" METHOD="POST"> <table valign=top bgcolor="#FFFFFF" align=center cellspacing=5 cellpadding=5 border=0> <tr><td align=right>Utilisateur: <INPUT TYPE="radio" NAME="user" VALUE="user1"><br> <INPUT TYPE="radio" NAME="user" VALUE="user2"></td><td>user1<br>user2</td></tr> <tr valign="top"><td colspan="2"> <table border=0 cellspacing=0><tr BGCOLOR="#DDDDDD"> <td align="center" colspan="3">Liste</td></tr><tr BGCOLOR="#DDDDDD"> <td><INPUT TYPE="checkbox" NAME="chrodp" id="chrodp" CHECKED value="1" onclick="textarea1=vidtext('chrodp','rodp','1');"> Liste1<br><TEXTAREA name="rodp" id="rodp" rows=20 cols=20>$(cat liste | grep ROD110P)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrode" id="chrode" CHECKED onclick="textarea2=vidtext('chrode','rode','2');"> Liste2<br><TEXTAREA name="rode" id="rode" rows=20 cols=20>$(cat liste | grep ROD110E)</TEXTAREA></td> <td><INPUT TYPE="checkbox" NAME="chrodd" id="chrodd" CHECKED onclick="textarea3=vidtext('chrodd','rodd','3');"> Liste3<br><TEXTAREA name="rodd" id="rodd" rows=20 cols=20>$(cat liste | grep ROD110D)</TEXTAREA></td> </tr></table></td></tr> <tr valign="top"><td align="center" colspan="2"><INPUT TYPE="SUBMIT" name=" patch" VALUE="Patch!"></td></tr> </table> </FORM> </body>
l'autre c'est avec AJAX
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
4 août 2009 à 15:08
4 août 2009 à 15:08
Merci encore Alain :-)
Je vais essayer quand j'aurai un peu moins de boulot. Je reviendrai pour te dire si ça marche chez moi ou pas :-)
Merci.
Cordialement,
Je vais essayer quand j'aurai un peu moins de boulot. Je reviendrai pour te dire si ça marche chez moi ou pas :-)
Merci.
Cordialement,