Insertion de smiley dans un TEXTAREA

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insertion de smiley dans un TEXTAREA

par Kwansu » 10 août 2006, 11:58

lol quel c** je suis :? .

Ca fonctionne nikel, merci

:arrow: Je pars me fouetter a cause de mon erreur :oops:

par @rthur » 10 août 2006, 11:51

Bonjour,

Essaye de remplacer

Code : Tout sélectionner

<FORM ACTION="envoi_message_guestbook.php" METHOD="post" ONSUBMIT="return validation_formulaire()">
par

Code : Tout sélectionner

<FORM ACTION="envoi_message_guestbook.php" METHOD="post" ONSUBMIT="return validation_formulaire()" name="formulaire">

Insertion de smiley dans un TEXTAREA

par Kwansu » 10 août 2006, 11:45

Bonjour,

Je suis en train de travailler sur un script de livre d'or qui permettrait d'insérer des smiley dans le message.

Le formulaire d'envoi de message est composé d'un champ "pseudo", "titre" et "message".

J'ai récupérer un script d'insertion de caractere dans un textarea et l'ai arranger pour mon besoin.

Dans le <HEAD> (la balise <?php n'y est pas, c'est en postant sur le forum qu'elle s'est ajoutée):
<!-- FONCTION INSERTION RACCOURCI SMILEY -->
		<SCRIPT TYPE="text/javascript">
		function addText(instext)
		{
			var mess = document.formulaire.message;
				// UTILISATEUR AVEC IE
				if (document.selection)
				{
					mess.focus();
					sel = document.selection.createRange();
					sel.text = instext;
					document.formulaire.focus();
				}
				// UTILISATEUR AVEC MOZILLA/NETSCAPE
				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>
Dans le <BODY> (la balise <?php n'y est pas, c'est en postant sur le forum qu'elle s'est ajoutée)::
<!-- FORMULAIRE POUR LAISSER UN MESSAGE DANS LE LIVRE -->
	<FORM ACTION="envoi_message_guestbook.php" METHOD="post" ONSUBMIT="return validation_formulaire()">
	<TABLE ID="tableau_guestbook">
		<TR>
			<TD WIDTH="30%">
				Pseudo
			</TD>
			<TD>
				<INPUT TYPE="text" NAME="pseudo" SIZE="20">
			</TD>
		</TR>
		<TR>
			<TD WIDTH="30%">
				Titre de votre message
			</TD>
			<TD>
				<INPUT TYPE="text" NAME="titre" SIZE="53">
			</TD>
		</TR>
		<TR>
			<TD WIDTH="30%">
				Smiley
			</TD>
			<TD>
				<A HREF="#" ONCLICK="addText('[:TRISTE] ');return(false)"><IMG SRC="smiley/triste.gif" border="0"></A>
			</TD>
		</TR>
		<TR>
			<TD WIDTH="30%">
				Votre message
			</TD>
			<TD>
				<TEXTAREA ROWS="5" COLS="40" NAME="message">Votre message ici</TEXTAREA>
			</TD>
		</TR>
	</TABLE>
	<BR>
	<!-- BOUTON D'ENVOI DU MESSAGE -->
	<TABLE ID="tableau_guestbook">
		<TR>
			<TD>
				<CENTER>
					<INPUT TYPE="submit" VALUE="Envoyer le message">
				</CENTER>
			</TD>
		</TR>
	</TABLE>
	</FORM>
Voici mon problème: lorsque je clique sur l'icone du smiley rien ne se passe, je vais voir alors le "!" de la fenêtre IE et le massage est le suivant:

" Erreur: 'document.formulaire.message' a la valeur Null ou n'est pas un objet. "

Voyez vous d'ou peuvent venir la ou les erreur(s) ?

Merci