Page 1 sur 1

javascript pour smiley

Posté : 01 déc. 2005, 04:20
par drelb
salut tous :)

voici mon petit javascript pour mes smiley

Code : Tout sélectionner

<script language="javascript"> function add_smilie(code) {document.getElementById('message').value+=' '+code;} </script>
il marche avec IE mais pas avec firefox :(

donc j'ai beau avoir chercher sur le net :x rien trouvé..pour adapter

Merci d'avance de votre aide[/quote]

Posté : 01 déc. 2005, 09:42
par Cyrano
Tu as deux erreurs:
Si tu utilises l'attribut "language" dans la balise Script, il faut écrire "JavaScript" et non "javascript" : tu peux remplacer par l'attribut "type";
Seconde erreur, tu as un "+" excédentaire dans ta fonction. Proposition:
<script type="text/javascript">
function add_smilie(code)
{
    document.getElementById('message').value =' '+code;
}
</script>
Mais je ne saisis pas bien l'intérêt de cette fonction qui va simplement ajouter un espace juste avant le "code"... :-k

Posté : 01 déc. 2005, 12:19
par drelb
plus bas dans mon formulaire juste avant la zone textarea , je met un choix de smiley à clicker

Code : Tout sélectionner

<img src="smiles/angel.gif" border="0" alt="" onclick="add_smilie(':angel:')"> <img src="smiles/bunny.gif" border="0" alt="" onclick="add_smilie(':bunny:')"> <img src="smiles/cat.gif" border="0" alt="" onclick="add_smilie(':cat:')"> <img src="smiles/clock.gif" border="0" alt="" onclick="add_smilie(':clock:')"> <img src="smiles/color.gif" border="0" alt="" onclick="add_smilie(':color:')"> <img src="smiles/hello.gif" border="0" alt="" onclick="add_smilie(':hello:')"> <img src="smiles/love.gif" border="0" alt="" onclick="add_smilie(':love:')"> <img src="smiles/birth.gif" border="0" alt="" onclick="add_smilie(':birth:')"> <img src="smiles/fest.gif" border="0" alt="" onclick="add_smilie(':fest:')"> <img src="smiles/toothy.gif" border="0" alt="" onclick="add_smilie(':toothy:')">
en retirant le + je ne peux mettre qu'une seule valeur de smiley
je dois surement pas utiliser la bonne fonction :x

Posté : 01 déc. 2005, 13:07
par Cyrano
Ok, je viens de saisir, alors il faut corriger ce que j'ai mis comme ceci:
<script type="text/javascript">
function add_smilie(code)
{
    document.getElementById('message').value += ' '+ code + ' ';
}
</script>
On ajoute un espace, le code correspondant au smiley et un autre espace.

Posté : 01 déc. 2005, 13:12
par drelb
je viens d'utiliser ta correction , elle marche tres bien sur IE mais sur firefox marche pas :x .


je pense que c'est peut etre mon firefox 1.07 qui a pas la meme version de javascript petet?

Posté : 01 déc. 2005, 13:53
par Cyrano
fais vois le bout de code html correspondant à la partie du formulaire sur laquelle s'applique ce script.

Posté : 01 déc. 2005, 14:46
par drelb
voici une partie du code html
    <FORM action='<?php echo $_SERVER['PHP_SELF']."?n=".$text_crypt;?>' method='post'>    
    <center>
        <table BORDER='1' width='560'>    
        <tr>
            <td >
                <center><b>Your Friend</b></center>
            </td>
            <td>
                <center>
                <b><?php echo $nameto." ".$firstnameto."</b> <i>".$countryto."</i>";?>
                </center>
            </td>
            <td>
                <a href='engine.php'>
                <center><b>Find</b></center>
                </a>
            </td>
        </tr>    
        <tr>
            <td>
                <center><b>Title</b></center>
            </td>
            <td colspan='2'><center>
                <input TYPE='text' SIZE='50' NAME='title' MAXLENGTH='40' /></center></td></tr>  
							
							<tr>	
							
								<td colspan='3'> 
								<center>
								
<img src="smiles/angel.gif" border="0" alt="" onclick="add_smilie(':angel:')">
<img src="smiles/bunny.gif" border="0" alt="" onclick="add_smilie(':bunny:')">
<img src="smiles/cat.gif" border="0" alt="" onclick="add_smilie(':cat:')">
<img src="smiles/clock.gif" border="0" alt="" onclick="add_smilie(':clock:')">
<img src="smiles/color.gif" border="0" alt="" onclick="add_smilie(':color:')">
<img src="smiles/hello.gif" border="0" alt="" onclick="add_smilie(':hello:')">
<img src="smiles/love.gif" border="0" alt="" onclick="add_smilie(':love:')">
<img src="smiles/birth.gif" border="0" alt="" onclick="add_smilie(':birth:')">
<img src="smiles/fest.gif" border="0" alt="" onclick="add_smilie(':fest:')">
<img src="smiles/toothy.gif" border="0" alt="" onclick="add_smilie(':toothy:')">	
								
								</center>
								</td>
							
							</tr>	  
       
			  <tr>
            <td>
                <center><b>Text</b> <br></br> <font color='red'>Limit </font><br> 200 characters <br></br><input type=box readonly name=remLentext size='3' value='200'></center>
            </td>
            <td colspan='2'><center><textarea wrap='physical' rows='10' NAME='message' cols='70' onKeyDown="textCounter(this.form.message,remLentext,200);" onKeyUp="textCounter(this.form.message,remLentext,200);"/></textarea>
                </center>
            </td>
        </tr>    
        <tr>
            <td colspan='3'>
                <CENTER><input TYPE='submit' class='bouton' name='envoi' value='Send' /> <input type='reset' class='bouton' value='Reset' /></center>
            </td>
        </tr>    
        </table>
    </center>
    </FORM>

Posté : 01 déc. 2005, 15:02
par Cyrano
Ok, alors c'est normal: Tu as bien un attribut name dans ta balise textarea et IE l'interpête correctement à tort : par contre, tu n'as pas d'attribut id : or tu fais appel à getElementById() : l'id n'existant pas, Firefox ne bronche pas. Proposition:
<form action="<?php echo $_SERVER['PHP_SELF'] ."?n=". $text_crypt;?>" method="post"> 
  <center>
  <table BORDER="1" width="560"> 
    <tr>
      <td >
        <center><b>Your Friend</b></center>
      </td>
      <td>
        <center><b><?php echo $nameto." ".$firstnameto."</b> <i>".$countryto."</i>";?></center>
      </td>
      <td>
        <a href="engine.php"><center><b>Find</b></center></a>
      </td>
    </tr> 
    <tr>
      <td>
        <center><b>Title</b></center>
      </td>
      <td colspan="2">
        <center><input TYPE="text" SIZE="50" NAME="title" MAXLENGTH="40" /></center>
      </td>
    </tr> 
    <tr> 
      <td colspan="3">
        <center>
        <img src="smiles/angel.gif" border="0" alt="angel" onclick="add_smilie(':angel:')">
        <img src="smiles/bunny.gif" border="0" alt="bunny" onclick="add_smilie(':bunny:')">
        <img src="smiles/cat.gif" border="0" alt="cat" onclick="add_smilie(':cat:')">
        <img src="smiles/clock.gif" border="0" alt="clock" onclick="add_smilie(':clock:')">
        <img src="smiles/color.gif" border="0" alt="color" onclick="add_smilie(':color:')">
        <img src="smiles/hello.gif" border="0" alt="hello" onclick="add_smilie(':hello:')">
        <img src="smiles/love.gif" border="0" alt="love" onclick="add_smilie(':love:')">
        <img src="smiles/birth.gif" border="0" alt="birth" onclick="add_smilie(':birth:')">
        <img src="smiles/fest.gif" border="0" alt="fest" onclick="add_smilie(':fest:')">
        <img src="smiles/toothy.gif" border="0" alt="toothy" onclick="add_smilie(':toothy:')"> 
        </center>
      </td>
    </tr> 
    <tr>
      <td>
        <center>
        <b>Text</b> <br>
        </br> 
        <font color="red">Limit </font><br> 
        200 characters <br>
        </br>
        <input type=box readonly name=remLentext size="3" value="200">
        </center>
      </td>
      <td colspan="2">
        <center>
          <textarea wrap="physical" rows="10" name="message" id="message" cols="70" onKeyDown="textCounter(this.form.message,remLentext,200);" onKeyUp="textCounter(this.form.message,remLentext,200);"/></textarea>
        </center>
      </td>
    </tr> 
    <tr>
      <td colspan="3">
        <center><input type="submit" class="bouton" name="envoi" value="Send" /> <input type="reset" class="bouton" value="Reset" /></center>
      </td>
    </tr> 
  </table>
  </center>
</form>

Posté : 01 déc. 2005, 15:11
par drelb
c'est good
Merci beaucoup Cyrano , tes un king :)