[javascript/PHP] aider moi a completer ce cod

antic80 Messages postés 4877 Statut Contributeur -  
antic80 Messages postés 4877 Statut Contributeur -
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. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  2. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    up
    0
  3. PhP Messages postés 1774 Statut Membre 606
     
    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
  4. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PhP Messages postés 1774 Statut Membre 606
     
    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
  7. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  8. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  9. PhP Messages postés 1774 Statut Membre 606
     
    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
  10. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  11. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    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
  12. PhP Messages postés 1774 Statut Membre 606
     
    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
  13. antic80 Messages postés 4877 Statut Contributeur 1 178
     
    ok je te remercie
    0