comprend pas certaine fonction, code inside [JS] - Programmation
Marsh Posté le 06-05-2002 à 18:57:02
De plus, comment ne pas perdre le focus kan on clique sur le bouton "ajouter"???
Marsh Posté le 06-05-2002 à 19:04:11
pour le 1 je sais aps
pour le 2 deja il faut que tu donnes un nom a ton forulaire :<form name="form1">
pour redoner le focus tu ajoutes a la fin de ta fonction
window.document.form1.zonetexte.focus();
Marsh Posté le 06-05-2002 à 19:06:34
kayasax a écrit a écrit : pour le 2 deja il faut que tu donnes un nom a ton forulaire :<form name="form1"> |
le programme fonctionne, je vois pas pourkoi le modifier. Mais effectivement, c plus propre si je donne un nom.
kayasax a écrit a écrit : pour redoner le focus tu ajoutes a la fin de ta fonction window.document.form1.zonetexte.focus(); |
Merci, je connaissais pas cette astuce.
Marsh Posté le 06-05-2002 à 19:09:21
helvetik a écrit a écrit : le programme fonctionne, je vois pas pourkoi le modifier. |
ben en programmation y a des regles, si tu veux pas les suivre c ton choix mais t'etonnes pas si ca deconne apres
Marsh Posté le 06-05-2002 à 19:22:54
kayasax a écrit a écrit : ben en programmation y a des regles, si tu veux pas les suivre c ton choix mais t'etonnes pas si ca deconne apres |
oui, je sais, c poukoi g rajouté après
helvetik a écrit a écrit : Mais effectivement, c plus propre si je donne un nom. |
d'ailleur dans le programme final (car ce code je l'ai pris sur le net pour l'utiliser dans un autre programme) ben je l'ai nommé form1. Je peux te donner la source si tu veux:
<html>
<head>
<title>Untitled</title>
<script language="javascript">
/************************************************
************************************************/
/*script créé par [OHM]Helvetik */
/*Date: le 06.05.02 */
/*v1.0 */
/*************************************************
***********************************************/
function storeCaret (textEl)
{
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
textEl.value = text;
window.document.form1.contenu.focus(); //redonne le focus à la textarea
}
</script>
</head>
<body>
<TABLE border="1" cellspacing="0">
<TR color=>
<TD bgcolor="#E6E8FA"><center>Rotation<br>lente</center></TD>
<TD bgcolor="#E6E8FA"><center>Rotation<br>rapide</center></TD>
<TD bgcolor="#FFFFFF"><center>Clignotement<br>lent</center></TD>
<TD bgcolor="#FFFFFF"><center>Clignotement<br>rapide</center></TD>
<TD bgcolor="#E6E8FA"><center>Permutement<br>lent</center></TD>
<TD bgcolor="#E6E8FA"><center>Permutement<br>rapide</center></TD>
<TD bgcolor="#FFFFFF"><center>Affichage</center></TD>
<TD bgcolor="#E6E8FA"><center>Delai [s]</center></TD>
<TD bgcolor="#FFFFFF"><center>Date</center></TD>
<TD bgcolor="#FFFFFF"><center>Heure</center</TD>
</TR>
<TR>
<TD bgcolor="#E6E8FA"><center><INPUT TYPE="button" VALUE="ON" NAME="rlon" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'rlon:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="rloff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'rloff:';"></center></TD>
<TD bgcolor="#E6E8FA"><center><INPUT TYPE="button" VALUE="ON" NAME="rron" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'rron:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="rroff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'rroff:';"></center></TD>
<TD bgcolor="#FFFFFF"><center><INPUT TYPE="button" VALUE="ON" NAME="clon" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'clon:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="cloff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'cloff:';"></center></TD>
<TD bgcolor="#FFFFFF"><center><INPUT TYPE="button" VALUE="ON" NAME="cron" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'cron:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="croff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'croff:';"></center></TD>
<TD bgcolor="#E6E8FA"><center><INPUT TYPE="button" VALUE="ON" NAME="plon" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'plon:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="ploff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'ploff:';"></center></TD>
<TD bgcolor="#E6E8FA"><center><INPUT TYPE="button" VALUE="ON" NAME="pron" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'pron:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="proff" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'proff:';"></center></TD>
<TD bgcolor="#FFFFFF"><center><INPUT TYPE="button" VALUE="ON" NAME="a_on" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'a_on:';"><BR><INPUT TYPE="button" VALUE="OFF" NAME="a_off" style="width:40;height:25" ONCLICK="insertAtCaret(document.form1.contenu,'a_off:';"></center></TD>
<TD bgcolor="#E6E8FA">
<FORM NAME="form_delai">
<SELECT NAME="delai">
<OPTION VALUE="1000">1s
<OPTION VALUE="2000">2s
<OPTION VALUE="3000">3s
<OPTION VALUE="4000">4s
<OPTION VALUE="5000">5s
<OPTION VALUE="6000">6s
<OPTION VALUE="7000">7s
<OPTION VALUE="8000">8s
<OPTION VALUE="9000">9s
<OPTION VALUE="10000">10s
</SELECT>
<INPUT TYPE="button" NAME="envoi_delai" VALUE="Delai" ONCLICK="insertAtCaret(document.form1.contenu,'la séléction';">
</FORM>
</TD>
<TD bgcolor="#FFFFFF"><INPUT TYPE="text" NAME="date" VALUE="jj.mm.aa" SIZE="7" ><BR><center><INPUT TYPE="button" VALUE="OK" NAME="date" style="width:40;height:25"></TD>
<TD bgcolor="#FFFFFF"><INPUT TYPE="text" NAME="heure" VALUE="hh:mm:ss" SIZE="7"><BR><center><INPUT TYPE="button" VALUE="OK" NAME="heure" style="width:40;height:25"></TD>
</TR>
</TABLE>
<form name="form1" method=post action=reception.asp>
<TEXTAREA name="contenu" rows="10" wrap=VIRTUAL cols="90" ONSELECT="storeCaret(this);"ONCLICK="storeCaret(this);"ONKEYUP="storeCaret(this);" ></TEXTAREA><br>
<!--bouton ki envoye le formulaire à la cible donnée par le parametre action du formulaire -->
<INPUT type=submit name="submit1" value="Envoyer la page" >
</form>
</body>
</html>
Bon, il manque les commentaires, je te l'accorde... c la raison du pourkoi de ce topic, j'aurais aimé comprendre comment fonctionnait cette fonction caretPos et creatTextRange, mais c po grave.
De plus, pour le moment, ca sert a rien, je viens de faire ke l'interface utilisateur. Y'a encore aucun test, mais ca va venir.
a+
[jfdsdjhfuetppo]--Message édité par helvetik le 06-05-2002 à 19:24:22--[/jfdsdjhfuetppo]
Marsh Posté le 06-05-2002 à 19:28:00
ok t'as le meme genre de chose sur ce site : (editPost.js)
et d'ailleurs je viens de me souvenir que kkun l'a commente ...je retrouve et reviens
Marsh Posté le 06-05-2002 à 19:30:23
c 1 msg de bozocarzu (super boulot au passage) ici :
http://forum.hardware.fr/forum2.ph [...] me=&trash=
[jfdsdjhfuetppo]--Message édité par kayasax le 06-05-2002 à 19:31:46--[/jfdsdjhfuetppo]
Marsh Posté le 06-05-2002 à 19:37:23
kayasax a écrit a écrit : c 1 msg de bozocarzu (super boulot au passage) ici : http://forum.hardware.fr/forum2.ph [...] me=&trash= |
merci, je vais matter ca.
Marsh Posté le 06-05-2002 à 19:48:54
voila ce k'il écrit.. pour creatRange et CreateTextRange, ca ne m'avance pas plus, mais c vrai k'il a fait du bon boulot...
:
function storeCaret (textEl){
if(textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
Commentaire :
Cette fonction donne la "postion" du curseur à tous moment : Il est éxécuter pour les événments onkeyup,onfocus,onclick,onselect du textarea donc dès qu'on le touche !!
Voir les proprietés de createTextRange et de createRange pour comprendre (j'ai pas trop compris leur principe !)
Marsh Posté le 06-05-2002 à 20:00:50
g pas trouvé ces fonction ici non-plus:
http://www.netscape.com/eng/mozill [...] avascript/
Marsh Posté le 06-05-2002 à 18:40:04
bonjours a tous!
Voilà, g trouvé sur le net ce petit bout de code html+JS.
Ya des fonction ke g mis en gras dont je ne comprend pas le but. Pourriez vous m'éclairer...
Code:
<HTML>
<HEAD>
<TITLE>Insert</TITLE>
<script LANGUAGE="JavaScript">
function storeCaret (textEl)
{
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (textEl, text)
{
if (textEl.createTextRange && textEl.caretPos)
{
var caretPos = textEl.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
}
else
textEl.value = text;
}
</script>
</HEAD>
<BODY>
<FORM>
<textarea rows="5" name="zonetexte" cols="20" ONSELECT="storeCaret(this);"ONCLICK="storeCaret(this);"ONKEYUP="storeCaret(this);"> C'est le début du texte.</textarea>
<INPUT TYPE="button" STYLE="font-family:courier;" VALUE="Ajouter"
ONCLICK="insertAtCaret(this.form.zonetexte,'LE TEXTE';">
</FORM>
</BODY>
</HTML>
---------------
---helvetik---