[JS] Mettre une valeur dans une autre fenêtre [ - Job's Done - ]

Mettre une valeur dans une autre fenêtre [ - Job's Done - ] [JS] - HTML/CSS - Programmation

Marsh Posté le 16-12-2002 à 14:18:59    

voici le code :  

Code :
  1. function addsmiley(code) {
  2. obj=Window.document.forms['form-shout'].message;
  3. obj=obj.value + code;
  4. }


 
j'ai mon champ message dans lequel je veux mettre les codes que je passe comme ça :  

Code :
  1. <a href="javascript:addsmiley(:wow:)"><img src="../../img/smiley/yellow/yellowbigeek.gif" border="0" alt="0" /></a><br />:wow:


 
le truc c'est que la fenêtre qui comporte les smileys et celle qui comporte le champ messages ne sont pas les mêmes... bien que celle des smiley soit une popup ouvertes par la page contenant le formulaire que voici :  

Code :
  1. <form name="form-shout" method="post" action="index.php?id=0">
  2.       <td class="td-shout-form">
  3.        <input type="hidden" value="1" name="shout">
  4.        <input type="text" name="nom" class="form-shout-field" size="25" maxlength="255" value="nom" /><br />
  5.        <input type="text" name="url" class="form-shout-field" size="25" maxlength="255" value="http://" /><br />
  6.        <input type="text" name="message" class="form-shout-field" size="25" maxlength="255" value="message" /><br />
  7.        <div class="txt-mid"><input type="submit" value=".: send :." class="form-shout-swich" /></div>
  8.        <div class="txt-mid"><a href="javascript:viewsmiley()" class="l-shout-smile">:: voir les smiley ::</a></div>
  9.       </td>
  10.       </form>


Message édité par xkamui le 17-12-2002 à 20:28:20
Reply

Marsh Posté le 16-12-2002 à 14:18:59   

Reply

Marsh Posté le 16-12-2002 à 14:21:59    

opener est ton ami ;)
 
Je t'en dis pas plus, parce qu'il vaut mieux que tu cherches un peu, ça te sera utile. (c'est ce que j'ai fait).

Reply

Marsh Posté le 16-12-2002 à 14:33:59    

voilà, j'ai ça, mais ça amrche toujours pas :  
 

Code :
  1. function addsmiley(code) {
  2. text = ' ' + code + ' ';
  3. opener.document.forms['form-shout'].message.value  += text;
  4. }

Reply

Marsh Posté le 16-12-2002 à 16:00:03    

:bounce:

Reply

Marsh Posté le 16-12-2002 à 16:01:27    

essayes comme ça :
 

Code :
  1. function addsmiley(code) {
  2. var text = ' ' + code + ' ';
  3. opener.document.nomduformulaire.nomdutextarea.value = opener.document.nomduformulaire.nomdutextarea.value + text;
  4. }

Reply

Marsh Posté le 16-12-2002 à 16:37:27    

si je met ce que tu me met mot pour mot, ça marche pas du tout...
 
j'ai des erreurs dès le chargement de la page des smilley
 
par contre quand je met ça :  

Code :
  1. function addsmiley(code) {
  2. var text = ' ' + code + ' '; 
  3. opener.document.forms['form-shout'].message.value = opener.document.forms['form-shout'].message.value + text; 
  4. }


 
j'ai pas d'érreur au téléchargement, mais juste sur le click

Reply

Marsh Posté le 16-12-2002 à 16:39:50    

Tu ne peux pas mettre mot pour mot ce que j'ai écrit.
 
Il faut remplacer nomduformulaire par le nom de TON formulaire et nomdutextarea par le nom de TON textarea.
 
Normalement ça doit marcher.

Reply

Marsh Posté le 16-12-2002 à 16:54:51    

Hermes le Messager a écrit :

Tu ne peux pas mettre mot pour mot ce que j'ai écrit.
 
Il faut remplacer nomduformulaire par le nom de TON formulaire et nomdutextarea par le nom de TON textarea.
 
Normalement ça doit marcher.


 
ça, j'avait compris............
j'ai donc mis :  

Code :
  1. function addsmiley(code) {
  2. var text = ' ' + code + ' '; 
  3. opener.document.form-shout.message.value = opener.document.form-shout.message.value + text; 
  4. }


 
mais ça marche pas :(  
 
à noter aussi, message est un champ texte, pas un textarea... ça joue peut être...

Reply

Marsh Posté le 16-12-2002 à 21:54:12    

non ça joue pas.
 
Par contre, foutre un nom comme form-shout en javascript : Pas bien !! Ya le signe - dedant (moins).

Reply

Marsh Posté le 16-12-2002 à 22:20:47    

voilà alors le formulaire :

Code :
  1. <form name="formshout" method="post" action="index.php?id=0">
  2.       <td class="td-shout-form">
  3.        <input type="hidden" value="1" name="shout">
  4.        <input type="text" name="nom" class="form-shout-field" size="25" maxlength="255" value="nom" /><br />
  5.        <input type="text" name="url" class="form-shout-field" size="25" maxlength="255" value="http://" /><br />
  6.        <input type="text" name="message" class="form-shout-field" size="25" maxlength="255" value="message" /><br />
  7.        <div class="txt-mid"><input type="submit" value=".: send :." class="form-shout-swich" /></div>
  8.       </td>
  9.       </form>


 
le fichier js :

Code :
  1. function addsmiley(code) {
  2. var text = ' ' + code + ' '; 
  3. opener.document.formshout.message.value = opener.document.formshout.message.value + text; 
  4. }


 
le code qui ouvre la page des smiley :

Code :
  1. <div class="txt-mid"><a href="javascript:viewsmiley()" class="l-shout-smile">:: voir les smiley ::</a></div>


 
le code qui affiche les smileys :

Code :
  1. $smile=array("bigeek","biggrin" );
  2. $codes=array(":wow:",":D" );
  3. for ($i=0;$i<count($codes);$i++)
  4. {
  5.   echo "<a href=\"javascript:addsmiley(".$codes[$i]." )\"><img src=\"../../img/smiley/yellow/yellow".$smile[$i].".gif\" border=\"0\" alt=\"".$codes[$i]."\" /></a><br />".$codes[$i]."\n";
  6. }


 
alors, elle est où l'erreur ??!!!
à noter aussi que j'ouvre le fichier js dans les deux fichier : index.php & smiley.php


Message édité par xkamui le 16-12-2002 à 22:21:43
Reply

Marsh Posté le 16-12-2002 à 22:20:47   

Reply

Marsh Posté le 16-12-2002 à 22:53:52    

Je regardes tout à l'heure après le film (vers 12h00). Mais saches que globalement la méthode est bonne. Ce doit être une tite couille qui bloque le truc...

Reply

Marsh Posté le 17-12-2002 à 12:30:18    

:bounce: up :bounce:

Reply

Marsh Posté le 17-12-2002 à 13:05:49    

Bon pour t'aider, regardes et refais l'exemple suivant chez toi :
 
la page qui contient le textearea :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Page de test</title>
  5. </head>
  6. <body>
  7. <form action="truc.php" method="get" name="texto">
  8. <textarea name="textedeux" rows="4" cols="40"></textarea>
  9. </form>
  10. <input type="submit" name="click" onclick="window.open('popup.html')"></p>
  11. </body>
  12. </html>


 
Et le popup :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>popup</title>
  5. <script language="javascript" type="text/javascript">
  6. function tab() 
  7.   {
  8.   var un = "[Link]";
  9.   var deux = "[/Link]";
  10.   var trois = "[kommentar]";
  11.   opener.document.texto.textedeux.value = opener.document.texto.textedeux.value + un + document.popup.adresse.value + trois + document.popup.inputtexte.value + deux;
  12.   window.close();
  13.   }
  14. </script>
  15. </head>
  16. <body>
  17.  <form action="javascript:tab()" method="get" name="popup">
  18.  <input type="text" name="adresse" size="24" border="0">
  19.  <br>
  20.  <input type="text" name="inputtexte" size="24" border="0">
  21.  <input  border="0" type="submit" name="submittxt">
  22.  </form>
  23. </body>
  24. </html>


 
Voilà, comme tu peux le voir, c'est un détail qui doit couiller.
 
Note : Il n'y a pas de différence de fonctionnement entre un textarea et un champ de texte normal.

Reply

Marsh Posté le 17-12-2002 à 18:16:40    

excusez moi mais il me semble que la propriété VALUE d'un textarea n'existe pas, du moins ne soit pas affectable. En IE tu pourras te contenter d'un innerHTML, enfin il me semble...
 :heink:

Reply

Marsh Posté le 17-12-2002 à 18:22:07    

iannouchka a écrit :

excusez moi mais il me semble que la propriété VALUE d'un textarea n'existe pas, du moins ne soit pas affectable. En IE tu pourras te contenter d'un innerHTML, enfin il me semble...
 :heink:  


 
Sisi, c'est bon. Enfin si on en croit les cartes de référence ( http://www.visibone.com/javascript/card.html )


Message édité par Taiche le 17-12-2002 à 18:22:19

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 17-12-2002 à 18:27:39    

exact, sorry
 :jap:

Reply

Marsh Posté le 17-12-2002 à 20:20:57    

Hermes le Messager a écrit :

Ce doit être une tite couille qui bloque le truc...


 
en fait, c'était dans le fichier smiley.php, dans le <a href>
 
j'avais mis :  
 

Citation :

<a href="javascript:addsmiley(:wow:)"><img src="../../img/smiley/yellow/yellowbigeek.gif" border="0" alt="0" /></a><br />:wow:


 
AU LIEU DE  
 

Citation :

<a href="javascript:addsmiley(':wow:')"><img src="../../img/smiley/yellow/yellowbigeek.gif" border="0" alt="0" /></a><br />:wow:


 
 :fou:  :fou:  :fou:


Message édité par xkamui le 17-12-2002 à 20:22:55
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed