|
|
|
|
Posté par
antic80, le mercredi 17 mai 2006 à 12:48:39salut,
je ne crois pas avoir compri ton exemple mais je peu te donner un pti bout de code: function valeur_commetaire () { commentaire = document.nom_du_formulaire.commentaire.value; } dans le textarea tu met : onclick="javascript:valeur_commentaire;" Voila, mon code enregistre la valeur du textearea quand tu clics dessus. Si tu as envie de travailler assiez et attend que ça passe |
ce n'est pas la valeur de la textarea mais son nom que je dois recuperer
je t'explique en détails j'ai ce morceau de code
function addText(instext) {
var mess = document.form_question.ReponseAlternative;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
j'aimerai remplacer cette ligne var mess = document.form_question.ReponseAlternative; car la le code ne marche que pour la textarea mais j'aimerai que ca marche aussi pour l'input donc si je clic sur l'input ce code dois s'executer pour l'input et si je clic sur la textarea pareil c pour ca que je cherche a modifier la variable mess en fonction de mon choix et au cas ou j'aimerai aussi savoir une chose ce code va me permettre d'inserer des symboles mathématiques (ex: &radic = racine carré) comment faire pour que ce code soit reconnu dans la textarea |
alors rajoute un argument à ta fonction et modifie le nom du textearea par le nom que tu auras donnée à l'arguement par exemple :
function addText(instext, nom_champ) {
var mess = document.form_question.nom_champ;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
et pour l'utilisation de la foction tu met les deux arguments tu laisse le premier, tu ne le touche pas et dans le deuxiemen tu mets le nom du champ à modifier. Si tu as envie de travailler assiez et attend que ça passe |
je comprend pas très bien ca
et pour l'utilisation de la foction tu met les deux arguments tu laisse le premier, tu ne le touche pas et dans le deuxiemen tu mets le nom du champ à modifier. ca c le code des liens print'<a href="#" onclick="addText(\' :) \');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_smile.gif" alt="" border="0" /></a>'; print'<a href="#" onclick="addText(\' ;) \');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0" /></a>'; |
ok je vien de comprendre -_- donc dans le input tu met un onclick="javascript:changer_champ('le_nom_du_champ_input');"
et dans le textarea tu met onclick="javascript:changer_champ('le_nom_du_champ_text_area');" et tu crées la fonction changer_champ de cette façon : function changer_champ(nom_du_champ) {
nom_du_champ_actif=nomd_du_champ;
}
et dans la fonction addText tu met : function addText(instext) {
champ_a_modifier = (isset(nom_du_champ_actif)) ? nom_du_champ_actif : 'le_nom_du_champ_par_defaut_que_tu_veux_modifier';
var mess = document.form_question.champ_a_modifier;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
je pense que cela devrait marcher. Si tu as envie de travailler assiez et attend que ça passe |
salut
j'ai une erreur dans le code ca empeche ma page de s'afficher apparement ca viens de onclick print'<textarea rows="5" cols="30" name="ReponseAlternative" cols="20" onclick="changer_champ('ReponseAlternative');">'.$Demarche.'</textarea>'; je te remet au cas ou le code des 2 fonctions avec mes parametres
function changer_champ(nom_du_champ) {
nom_du_champ_actif=nom_du_champ;
}
function addText(instext) {
champ_a_modifier = (isset(nom_du_champ_actif)) ? nom_du_champ_actif : 'Reponse';
var mess = document.form_question.champ_a_modifier;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
encore merci pour ton aide |
teste avec :
print'<textarea rows="5" cols="30" name="ReponseAlternative" cols="20" onclick="changer_champ(\'ReponseAlternative\');">'.$Demarche.'</textarea>'; j'avais oublier que tu le faisais en PHP. ;) Si tu as envie de travailler assiez et attend que ça passe |
encore moi
la page s'affiche cette fois mais quand je clic sur les liens pour inserer le caractere ca ne marche pas je te file le code d'un des lien print'<a href="#" onclick="addText(\' ;) \');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0" /></a>'; ca me met ds la barre de statut en bas "erreur sur la page" |
Le problème doit venir du isset j'ai pa l'impression que cette fonction existe alors teste :
function addText(instext) {
champ_a_modifier = nom_du_champ_actif;
var mess = document.form_question.champ_a_modifier;
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
Si tu as envie de travailler assiez et attend que ça passe |
non ca ne marche tjs pas
dis moi si tu as besoin d'un autre morceau de code |
au cas ou j'ai mis cette ligne dans la fonction
document.write(mess); et j'obtient undefined |
Bon j'ai testé ça (je teste avant de m'enfoncer encore plus :p) :
<html>
<head>
<script type="text/javascript">
document.form_question.champ_actif.value = "titire1";
function changer_champ(nom_du_champ) {
document.form_question.champ_actif.value = nom_du_champ;
}
function addText(instext) {
var nom_du_champ_actif = document.form_question.champ_actif.value;
var nom_du_champ_actif;
if(nom_du_champ_actif=="titre1")
{
mess = document.form_question.titre1;
}
else if(nom_du_champ_actif=="titre2")
{
mess = document.form_question.titre2;
}
else
{
mess = document.form_question.titre3;
}
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
</script>
</head>
<body>
<a href="javascript:void(0);" onclick="javascript:addText(' ;) ');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0" /></a>
<form action="" name="form_question">
<input type="hidden" name="champ_actif" />
<input type="text" name="titre1" onclick="javascript:changer_champ('titre1');" onselect="javascript:changer_champ('titre1');" />
<input type="text" name="titre2" onclick="javascript:changer_champ('titre2');" onselect="javascript:changer_champ('titre2');" />
<input type="text" name="titre3" onclick="javascript:changer_champ('titre3');" onselect="javascript:changer_champ('titre3');" />
</form>
</body>
</html>
Et ça marche impécable. Bon courage avec le javascript ;) Si tu as envie de travailler assiez et attend que ça passe |
alors soit je suis con ou il y a un bleme ailleurs
j'ai tester ton code sur une page vierge en effet il marche mais voila en l'inserant ds mon code ca ne marche je te renvoie la fonction et les liens avec mes parametres
<script type="text/javascript">
document.form_question.champ_actif.value = "ReponseAlternative";
function changer_champ(nom_du_champ) {
document.form_question.champ_actif.value = nom_du_champ;
}
function addText(instext) {
var nom_du_champ_actif = document.form_question.champ_actif.value;
var nom_du_champ_actif;
if(nom_du_champ_actif=="ReponseAlternative")
{
mess = document.form_question.ReponseAlternative;
}
else (nom_du_champ_actif=="Reponse")
{
mess = document.form_question.Reponse;
}
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
</script>
les liens
<?php
if ($NumEssai<4)
{
print"<td width='100'><div align='center'><label>Réponse</label></div></td>";
print'<input type="hidden" name="champ_actif">';
print' <td width="150"><input name="Reponse" size="39" onclick="javascript:changer_champ('Reponse');" onselect="javascript:changer_champ('Reponse');" ></input></td>';
print"</tr>";
print"<tr>";
if($ReponseAlternative!="")
{
print"<td width='100'><div align='center'><label>Démarche</label></div></td>";
print"<td width='150'><div align='center'>";
print'<textarea rows="5" cols="30" name="ReponseAlternative" cols="20" onclick="javascript:changer_champ('ReponseAlternative');" onselect="javascript:changer_champ('ReponseAlternative');">'.$Demarche.'</textarea>';
echo "<br />";
echo "<br />";
print'<a href="javascript:void(0);" onclick="javascript:addText(' ;) ');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0"></a>';
print"</div>";
print"</td>";
}
}
?>
voila j'espere que c la derniere fois que je t'embete je precise que la encore la page ne s'affiche pas |
je n'ai pas tout lu mais regarde du coté du else conditionnel
else (nom_du_champ_actif=="Reponse") me semble pas que ça existe (j'en suis même sûr :p) Si tu as envie de travailler assiez et attend que ça passe |
je te refais ton php parceque y a plein de fautes et tu peu ne pas utiliser les print
<?php
if ($NumEssai<4)
{
?>
<td width="100"><div align="center"><label>Réponse</label></div></td>
<input type="hidden" name="champ_actif">
<td width="150"><input name="Reponse" size="39" onclick="javascript:changer_champ('Reponse');" onselect="javascript:changer_champ('Reponse');" ></input></td>
</tr>
<tr>
<?php
if(!empty($ReponseAlternative))
{
?>
<td width="100"><div align="center"><label>Démarche</label></div></td>
<td width="150"><div align="center">
<textarea rows="5" cols="30" name="ReponseAlternative" cols="20" onclick="javascript:changer_champ('ReponseAlternative');" onselect="javascript:changer_champ('ReponseAlternative');"><?php echo $Demarche; ?></textarea>
<br />
<br />
<a href="javascript:void(0);" onclick="javascript:addText(' ;) ');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0"></a>
</div>
</td>
<?php
}
?>
<?php
}
?>
Si tu as envie de travailler assiez et attend que ça passe |
y'a du mieux sauf que en selectionnant l'un ou l'autre ca s'affiche toujours ds le meme (input text) |
salut,
tu as quoi maintenant comme code ? Si tu as envie de travailler assiez et attend que ça passe |
pour la fonction
<script type="text/javascript">
document.form_question.champ_actif.value = "ReponseAlternative";
function changer_champ(nom_du_champ) {
document.form_question.champ_actif.value = nom_du_champ;
}
function addText(instext) {
var nom_du_champ_actif = document.form_question.champ_actif.value;
var nom_du_champ_actif;
if(nom_du_champ_actif=="ReponseAlternative")
{
mess = document.form_question.ReponseAlternative;
}
else (nom_du_champ_actif=="Reponse")
{
mess = document.form_question.Reponse;
}
//IE support
if (document.selection) {
mess.focus();
sel = document.selection.createRange();
sel.text = instext;
document.form_question.focus();
}
//MOZILLA/NETSCAPE support
else if (mess.selectionStart || mess.selectionStart == "0") {
var startPos = mess.selectionStart;
var endPos = mess.selectionEnd;
var chaine = mess.value;
mess.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
mess.selectionStart = startPos + instext.length;
mess.selectionEnd = endPos + instext.length;
mess.focus();
} else {
mess.value += instext;
mess.focus();
}
}
</script>
pour les liens
<?php
if ($NumEssai<4)
{
?>
<td width="100"><div align="center"><label>Réponse</label></div></td>
<input type="hidden" name="champ_actif">
<td width="150"><input name="Reponse" size="39" onclick="javascript:changer_champ('Reponse');" onselect="javascript:changer_champ('Reponse');" ></input></td>
</tr>
<tr>
<?php
if(!empty($ReponseAlternative))
{
?>
<td width="100"><div align="center"><label>Démarche</label></div></td>
<td width="150"><div align="center">
<textarea rows="5" cols="30" name="ReponseAlternative" cols="20" onclick="javascript:changer_champ('ReponseAlternative');" onselect="javascript:changer_champ('ReponseAlternative');"><?php echo $Demarche; ?></textarea>
<br />
<br />
<a href="javascript:void(0);" onclick="javascript:addText(' ;) ');return(false)"><img src="http://www.editeurjavascript.com/forum/images/smiles/icon_wink.gif" alt="" border="0"></a>
</div>
</td>
<?php
}
?>
<?php
}
?>
en fait que je selectionne l'input ou le textarea , quand je clic sur le lien le texte s'ajoute dans l'input |
| 29/12 20h42 | Guide d'utilisation du Shell pour débutant | Shell |
| 28/12 00h00 | [PHP] Récupérer login et mot de passe passés par un .htaccess | PHP |
| 07/01 17h25 | [SpyBot] DSO Exploit | Virus |
| 23/06 11h54 | Les Critères Ergonomiques | Ergonomie |
| 17/01 18h20 | [Virus] Kit de désinfection pour éradiquer W32/Beagle@mm (Bagle) | Virus |
| 14/04 19h18 | [php-Javascript] Recupération de variable | 5 |
| 19/02 12h48 | Récupéré resultat de requête ds variable java | 3 |
| 14/05 17h41 | VBA récupérer nom de fichier Excel ds access | 1 |
| 03/10 12h42 | Récupérer nom de formulaire en javascript | 0 |
![]() | DSL Test - DSLtest est constitué d'un logiciel à télécharger gratuitement et de serveurs de test. Ces équipements vous permettent... | Catégorie: ADSL Licence: Freeware/gratuit |
![]() | DS Monkey Audio - Filtre APE - Le format MonkeysAudio (extension *.ape) est un format de compression audio lossless (sans pertes) permettant de réduire la... | Catégorie: Plugins audio Licence: Freeware/gratuit |
![]() | Nombres Faciles - Lorsqu'on rédige un chèque, même si on est un habitué, on peut toujours commettre une faute lors de la transcription de la... | Catégorie: Professionnel Licence: Freeware/gratuit |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | Abit iDome DS500 2.0 | Catégorie: Enceintes PC | |
![]() | Gundam Mahjong DS | Catégorie: Jeu vidéo Nintendo DS | 29.99 € Alapage |
![]() | Optoma DS306 | Catégorie: Vidéoprojecteur | 305.96 € Rue du Commerce |
![]() | Mario Party DS | Catégorie: Jeu vidéo Nintendo DS | 36.99 € Amazon.fr |