[JS]comprend pas certaine fonction, code inside

comprend pas certaine fonction, code inside [JS] - Programmation

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---
Reply

Marsh Posté le 06-05-2002 à 18:40:04   

Reply

Marsh Posté le 06-05-2002 à 18:57:02    

De plus, comment ne pas perdre le focus kan on clique sur le bouton "ajouter"???


---------------
---helvetik---
Reply

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();


---------------
All we need is a soul revolution
Reply

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.


---------------
---helvetik---
Reply

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  :sarcastic:


---------------
All we need is a soul revolution
Reply

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  :sarcastic:  




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]


---------------
---helvetik---
Reply

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


---------------
All we need is a soul revolution
Reply

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]

Reply

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.


---------------
---helvetik---
Reply

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 !)


---------------
---helvetik---
Reply

Marsh Posté le 06-05-2002 à 19:48:54   

Reply

Marsh Posté le 06-05-2002 à 20:00:50    

g pas trouvé ces fonction ici non-plus:
http://www.netscape.com/eng/mozill [...] avascript/


---------------
---helvetik---
Reply

Sujets relatifs:

Leave a Replay

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