Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2544 connectés 

  FORUM HardWare.fr
  Programmation

  [JS]comprend pas certaine fonction, code inside

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS]comprend pas certaine fonction, code inside

n°135470
helvetik
Posté le 06-05-2002 à 18:40:04  profilanswer
 

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---
mood
Publicité
Posté le 06-05-2002 à 18:40:04  profilanswer
 

n°135474
helvetik
Posté le 06-05-2002 à 18:57:02  profilanswer
 

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


---------------
---helvetik---
n°135476
kayasax
Posté le 06-05-2002 à 19:04:11  profilanswer
 

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
n°135478
helvetik
Posté le 06-05-2002 à 19:06:34  profilanswer
 

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---
n°135480
kayasax
Posté le 06-05-2002 à 19:09:21  profilanswer
 

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
n°135485
helvetik
Posté le 06-05-2002 à 19:22:54  profilanswer
 

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---
n°135489
kayasax
Posté le 06-05-2002 à 19:28:00  profilanswer
 

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
n°135490
kayasax
Posté le 06-05-2002 à 19:30:23  profilanswer
 

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]

n°135494
helvetik
Posté le 06-05-2002 à 19:37:23  profilanswer
 

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---
n°135502
helvetik
Posté le 06-05-2002 à 19:48:54  profilanswer
 

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---
mood
Publicité
Posté le 06-05-2002 à 19:48:54  profilanswer
 

n°135512
helvetik
Posté le 06-05-2002 à 20:00:50  profilanswer
 

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


---------------
---helvetik---

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [JS]comprend pas certaine fonction, code inside

 

Sujets relatifs
[maple] pfffffff je comprend pas poukoi .Exécuter un programme externe dans du code C sous DOS
[C/C++] Comment fonctionne la fonction "free" ?[vbscript ou javascript]code source dans un fichier !
[vb6]récupéré le code source d'une page HTML[IA] Fonction d'évaluation pour le jeu 'Awale'
[HTML] experts, questiond emise en page, TABLE's inside[debutant inside] HTML : dimensionner une fenetre issue d'un lien
[PHP-SQL] Problème avec la fonction "time"Une ch'tite fonction en Delphi SVP !
Plus de sujets relatifs à : [JS]comprend pas certaine fonction, code inside


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR