[javascript/PHP] aider moi a completer ce cod

bonjour a tous

Voila sur ce site j'ai obtenu de l'aide pour un script que j'ai dans une page php

j'ai dans cette page 2 textarea

le but est quand je clic sur un des symboles que j'affiche sur la page il dois s'inserer dans le textarea qui est sélectionné

voici le script

<script type="text/javascript">

document.form_question.champ_actif.value = "ReponseAlternative";
		function changer_champ(nom_du_champ) {
			document.form_question.champ_actif.value = nom_du_champ;
		}
		
		
		function addText(instext) {
			var nom_du_champ_actif = document.form_question.champ_actif.value;
			var nom_du_champ_actif;
			if(nom_du_champ_actif=="ReponseAlternative")
			{
				mess = document.form_question.ReponseAlternative;
			}
			else			{
				mess = document.form_question.Reponse;
			}
					
			//IE support
			if (document.selection) {
				mess.focus();
				sel = document.selection.createRange();
				sel.text = instext;
				document.form_question.focus();
			}
			//MOZILLA/NETSCAPE support
			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>



voici le code d'un textarea

<textarea rows="5" cols="25" name="ReponseAlternative" onclick="javascript:changer_champ('ReponseAlternative');" onselect="javascript:changer_champ('ReponseAlternative');"><?php echo $Demarche; ?>

12 réponses

  1. Contributeur
    je rajoute le reste de la question

    et voici le code d'insertion d'un symbole

    <a href="javascript:void(0);" onclick="javascript:addText('&sup2;');return(false)">&sup2;</a>

    les 2 textareas permettent de repondre a des questions stockées dans une base SQL qui sont affichés comme ca

    <div align="center"><?echo $Question[$NumQuestion]?></div>

    mais ds la base j'ai des questions comme ca

    (2x + <input type="text" name="case1" size="5"></input>)&sup2; = <input type="text" name="case2" size="5"></input> + 16x + <input type="text" name="case3" size="5"></input>

    cela m'affiche des questions a trous avec les input qui servent a repondre a la question

    ce que je veux c adapté le script ci dessus a ces zones de text pour les questions de ce type
    0
    1. bjr

      Je comprends la code Javascript mais pas ce que tu veux faire ...

      C'est quoi un QCM de math ?
      Ca se présente comment ?

      Tu veux mettre quoi dans ton textarea ? D'ailleurs tu parles de 2 textarea : je n'en vois qu'une seule.

      Au passage le code
      var nom_du_champ_actif; 
      dans ta fonction addText est a supprimé .
      0
      1. Contributeur
        merci

        en fait sur ma page php j'affiche une question

        selon les questions j'ai 1 ou 2 textarea pour repondre a la question

        le probleme c qu'en mathématiques certains symboles ne peuvent pas etre taper au clavier comme par exemple la racine carrée

        j'affiche donc ces symboles sur la page et quand l'eleve clic sur le symbole ca affiche le symbole dans la textarea qui est selectionné

        mais dans la base certaines questions n'ont pas besoin des textarea pour qu'on y reponde car j'ai mis ds la question des zones de texte pour que la question ressemble a une question a trou

        ce que je veux c que quand je clic sur un symbole il s'affiche dans ces zones de textes comme il est deja possible de faire avec les textarea

        voila j'espere etre clair
        0
        1. Re

          Voilà j'ai bricolé un truc ca donne :

          http://www.nobodysperfect.freesurf.fr/antic80/qcm.htm

          Voici le code :

          <html>
          <head>
          <style>
          
          body
          {
          	font-family : arial;
          	font-size : 10pt;
          }
          
          input, textarea
          {
          	font-family : arial;
          	font-size : 10pt;
          }
          
          
          
          </style>
          
          
          <script type="text/javascript">
          <!--
          
          var champ_actif = null;
          function onFocus()
          {
          	champ_actif = this;
          }
          
          function init()
          {
          	// Définit les gestionnaires d'événement pour les champs INPUT
          	var elts= document.getElementsByTagName("INPUT");
          	
          	for (var i=0; i < elts.length; i++)
          	{
          		// Uniquement pour les champs texte
          		if (elts[i].type == "text") elts[i].onfocus=onFocus;	
          	}
          
          
          	// Définit les gestionnaires d'événement pour les champs TEXTAREA
          	var elts= document.getElementsByTagName("TEXTAREA");
          	
          	for (var i=0; i < elts.length; i++)
          	{
          		elts[i].onfocus=onFocus;	
          	}
          }
          
          function addText(instext) {
          	if (!champ_actif) return;
          	//IE support
          	if (document.selection) 
          	{
          		champ_actif.focus();
          		sel = document.selection.createRange();
          		sel.text = instext;
          	}
          	//MOZILLA/NETSCAPE support
          	else 
          	{
          		if (champ_actif.selectionStart || champ_actif.selectionStart == "0") 
          		{
          			var startPos = champ_actif.selectionStart;
          			var endPos = champ_actif.selectionEnd;
          			var chaine = champ_actif.value;
          			champ_actif.value = chaine.substring(0, startPos) + instext + chaine.substring(endPos, chaine.length);
          	
          			champ_actif.selectionStart = startPos + instext.length;
          			champ_actif.selectionEnd = endPos + instext.length;
          			champ_actif.focus();
          		} 
          		else 
          		{
          			champ_actif.value += instext;
          			champ_actif.focus();
          		}
          	}
          }
          
          //-->
          </script>
          
          </head>
          <body onload="init()">
          <input type="button" value="cos()" onclick="addText('cos()')">
          <input type="button" value="sin()" onclick="addText('sin()')">
          <input type="button" value="()" onclick="addText('()')">
          <input type="button" value="^" onclick="addText('^')">
          <input type="button" value="&#945;" onclick="addText('&#945;')">
          <input type="button" value="&#946;" onclick="addText('&#946;')">
          <input type="button" value="&#960;" onclick="addText('&#960;')">
          <input type="button" value="&#8730;" onclick="addText('&#8730;')">
          <input type="button" value="&#8804;" onclick="addText('&#8804;')">
          <input type="button" value="&#8805;" onclick="addText('&#8805;')">
          <input type="button" value="&#8734;" onclick="addText('&#8734;')">
          <input type="button" value="&#8801;" onclick="addText('&#8801;')">
          <input type="button" value="±" onclick="addText('±')">
          <input type="button" value="Ø" onclick="addText('Ø')">
          <input type="button" value="&#8721;" onclick="addText('&#8721;')">
          
          
          <br /><br />
          Question n°1 : <br />
          <input type="text" value="cos" size="10"> + <input type="text" class="essai" value="sin" size="10">=
          <input type="text" value="1" size="5">
          <input type="button" value="Solution" onclick="alert('cos(&#945;)^2 + sin(&#945;)^2 = 1');">
          <br /><br />
          Question n°2 : <br />
          sin(&#960;/4) = <input type="text" value="" size="10">
          <input type="button" value="Solution" onclick="alert('sin(&#960;/4) = &#8730;2/2');">
          <br /><br />
          Question n°3 : <br />
          <textarea rows="5" cols="25"></textarea>
          <br /><br />
          Question n°4 : <br />
          <textarea rows="5" cols="25"></textarea>
          </body>
          </html>


          @+
          Php

          0
          1. Contributeur
            ok apparement ca a l'air de simplifier mon probleme mais j'ai une question

            est ce que je peux remplacer

            <input type="button" value="^" onclick="addText('^')">

            par

            <a href="" onclick="addText('^')">^</a>
            0
            1. Contributeur
              ok apparement ca a l'air de simplifier mon probleme mais j'ai une question

              est ce que je peux remplacer

              <input type="button" value="^" onclick="addText('^')">

              par

              <a href="" onclick="addText('^')">^</a>
              0
              1. Presque ...

                En fait :

                <a href="javascript:addText('^')">^</a>


                Qd même préparer des questionnaires pour les élèves la veille des vacances ... LOL
                0
                1. Contributeur
                  merci pour ton aide

                  et ne t 'inkiete pas c pas pour les vacances

                  je suis entrain de créer un site pour un ami et il ne sera pas dispo de suite

                  encore merci a toi
                  0
                  1. Contributeur
                    une derniere petite chose qui n'a pas de rapport

                    Travailles tu dans le domaine du Web ??

                    Si oui je cherche le moyen de bosser dans ce domaine ou de faire une vrai formation ou alors créer une boite mais je suis un peu pommé.

                    si tu as des infos je suis preneur sinon j'ai tester ton code et ca marche nickel

                    merci
                    0
                    1. Bjr,

                      Ho non, je suis dans l'informatique de gestion, mais je m'intéresse aux développement web (bien obligé : Intranet, site web de le boîte etc ...)
                      Ca devient incontournable mais c'est aussi très intéressant. En fait je trouve ca amusant, plus l'aspect graphique derrière c'est sympha

                      Maintenant te dire quels sont les métiers en vogue ...

                      Pas webmaster en tout cas !

                      0
                      1. Contributeur
                        ok je te remercie
                        0