begin process at 2012 05 29 02:45:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Amélioration de script


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Amélioration de script

vendredi 31 décembre 2010 à 22:46:56 | Amélioration de script

charlieddr

Bonjour,
Je posséde un script (libre)pour un QCM mais le soucis,le concepteur ne soutient plus son script.
Il est en deux parties, le test (liste.html) et score.html.
Dans ce script:
1) je souhaiterai y ajouter un bouton "précédent" afin de revenir en arrière sur les questions du QCM avant de valider le test.
2) Concernant l'affichage du score je souhaiterai modifier celui-ci.Je voudrai connaître le nombre de bonnes réponses cochées (=+1 pt),le nombres de mauvaises réponses cochées.(= -1/3 pt).Afin d'afficher une note sur 20
Voilà le script:
Liste.html <HTML>
<! xmltest -->
<HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT">

/* script written by olives jean-michel
jmolives@hotmail.com
*/

var id=null;
var iMontrerBoutonScore=0;
var QuestionNumero=1;
var ReponseNumero =0;



//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// function qui utilise le DOM pour atteindre les attributs
function ShowAttributes()
{

// variable qui permet de compter les numeros
var AttributNumero=0;

// compteur des reponses
ReponseNumero=0;

// si =0 , la question est fausse
var iScoreSurPage =1;


Document=dsoInventaire.XMLDocument;
//alert( Document.documentElement.childNodes(QuestionNumero-2).text);
//alert( " question numero " + (QuestionNumero-2));
var items=Document.documentElement.childNodes(QuestionNumero-2)



// la question -- ne nous interesse pas
var treeNode=items.firstChild;
//alert("firstchild is " + treeNode.xml);

// les reponses: voir si elles sont vraies ou fausses
while(treeNode!=items.lastChild)
{


treeNode=treeNode.nextSibling;
//alert("treeNode is:" +treeNode.xml);

// degager l'attribut
var att=treeNode.attributes;
//alert("texte de l'attribut" + att.getNamedItem("BR").nodeValue);
var Reponse =att.getNamedItem("BR").nodeValue

// examiner si la bonne case a ete cochee
//if((document.TB1.C1[AttributNumero].checked)&& Reponse="1") || (!document.LIVREINVENTAIRE2.C1[AttributNumero].checked)&& Reponse="0"))
if(((document.tb1.C1[AttributNumero].checked) && Reponse=="1") ||( (!document.tb1.C1[AttributNumero].checked) && Reponse=="0"))
{
//alert("bonne reponse sur question numero " + AttributNumero);
}
else
{
//alert("mauvaise reponse sur question numero " + AttributNumero);
iScoreSurPage =0;
}// fin du if


// passer a l'attribut suivant
AttributNumero++;
}// fin du while


// examiner les resultats de la feuille
if (iScoreSurPage==1)
{
parent.score++;
//alert("bonnes reponses sur la page");

// remettre le compteur score de la page a 1
iScoreSurPage =1;


}// fin du (if (iScoreSurPage ==1))


}

//******************************************************************************
function CacheCheckVide( )
{
////////////////////////////////////////////////////////////
// Si un checkbox est vide //
// Le masquer //


/*
alert (TESTCK1.innerText);
alert (TESTCK2.innerText);
alert (TESTCK3.innerText);
alert (TESTCK4.innerText);
alert (TESTCK5.innerText);

*/


Document=dsoInventaire.XMLDocument;
var items=Document.documentElement.childNodes(QuestionNumero-1)

// la question -- ne nous interesse pas
var treeNode=items.firstChild;
//alert("firstchild is " + treeNode.xml);

// les reponses: voir si elles sont vraies ou fausses
while(treeNode!=items.lastChild)
{
// incrementer les reponses
ReponseNumero++;

treeNode=treeNode.nextSibling;
//alert("treeNode is:" +treeNode.text);
//alert( 'Reponse numero ' + ReponseNumero);

// verifier si la reponse est vide, si oui supprimer le checkbox

if((""==treeNode.text))
{
//alert('reponse vide= ' + ReponseNumero);
switch(ReponseNumero)
{
case 1: ANSWER1.style.display = "none"; break;
case 2: ANSWER2.style.display = "none"; break;
case 3: ANSWER3.style.display = "none"; break;
case 4: ANSWER4.style.display = "none"; break;
case 5: ANSWER5.style.display = "none"; break;

}// fin de switch (ReponseNumero)





}// fin de if(treeNode.xml="")






}// fin du while

ReponseNumero=0;

/*
if ((TESTCK5.innerText)=="")
{
ANSWER5.style.display = "none";
//alert( "Le message devrait etre vide ,message=none");
}
else
{
ANSWER5.style.display = "";
//alert("lemessage devrait etre ecrit message=''");



}
*/

}


//******************************************
// fonction qui fait apparaitre le bouton score lors de la derniere question
function disappear(obj)
{

if (!iMontrerBoutonScore) obj.style.display = "none";
else
{
obj.style.display = "";
BoutonSuivant.style.display="none";
}

}

//*************************************************************************

function affiche()
{



var res;
QuestionNumero++;
QN.innerText=QuestionNumero;


if( (dsoInventaire.recordset.EOF))
{

dsoInventaire.recordset.moveLast();

}

// Montrer le bouton score pour la derniere question
if (dsoInventaire.recordset.RecordCount==QuestionNumero)
{

// montrer le bouton score
iMontrerBoutonScore=1;
disappear(BoutonScore);


}

if( (dsoInventaire.recordset.BOF))
{

dsoInventaire.recordset.moveFirst();
}




// voir lequel a ete clique:
ShowAttributes();

}// fin function affiche()

//****************************************************
// fonction qui reinitalise tous les boutons radios
function Reinitialise()
{
var combien= document.tb1.C1.length;

// voir lequel a ete clique:
var lequel;
for ( x=0; x<combien;x++)
{
document.tb1.C1[x].checked=false;


}

//faire reapparaitre tous les boutons
ANSWER1.style.display = "";
ANSWER2.style.display = "";
ANSWER3.style.display = "";
ANSWER4.style.display = "";
ANSWER5.style.display = "";





}// fin function Reinitialise()

var temps=0;

//)))))))))))))))))))))))))))))))))))))
function depart()
{

id=setInterval("Montre()",1000);


}


//****************************************
function stopp()
{
window.clearInterval(id);

}
//var parent.msec=0;


//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function Montre()
{
if( parent.msec>59)
{
parent.msec=0;
parent.minutes++;

/* Pour changer le temps de l'epreuve, modifier ici
if(parent.minutes>=1)
parent.MontrePageScore();
*/
}



var ms="";
ms+=parent.msec;
parent.msec++;


document.FTEMPS.ZoneTemps.value= parent.minutes + " : " + ms;
document.cookie="mns=" + parent.minutes + ";secs=" + ms + ";"


}


</SCRIPT>
<TITLE> QUESTIONNAIRE </TITLE>




</HEAD>

<body onLoad="depart();parent.msec=0;parent.score=0;parent.minutes=0;parent.NombreQuestions=dsoInventaire.recordset.RecordCount;disappear(BoutonScore);QN.innerText=QuestionNumero; CacheCheckVide( );">
<XML ID="dsoInventaire" SRC="TOXML1.xml"></XML>
<p align="center">


<b><font size="2">Question


<SPAN ID="QN">

</SPAN>

</font></b>


</p>

<form name="tb1" >

<table ID="LIVREINVENTAIRE" DATAPAGESIZE=1 DATASRC=#dsoInventaire BORDER="0" CELLPADDING="2">
<tr>
<td width="100%">
<h2><SPAN DATAFLD="QUESTION"></SPAN></h2><p><p>
</td>
</tr>
</table>

<SPAN ID="ANSWER1" >
<table ID="LIVREINVENTAIRE2" DATAPAGESIZE=1 DATASRC=#dsoInventaire DATAFLD="REPONSE1" BORDER="0" CELLPADDING="2">
<tr>
<td width="100%">
<input type="checkbox" name="C1" value="ON"><SPAN ID="TESTCK1" DATAFLD="$TEXT" ></SPAN>

</td>
</tr>
</table>
</SPAN>

<SPAN ID="ANSWER2" >
<table ID="LIVREINVENTAIRE3" DATAPAGESIZE=1 DATASRC=#dsoInventaire DATAFLD="REPONSE2" BORDER="0" CELLPADDING="2">
<tr>
<td width="100%">
<input type="checkbox" name="C1" value="ON"><SPAN ID="TESTCK2" DATAFLD="$TEXT" ></SPAN>
</td>
</tr>
</table>
</SPAN>

<SPAN ID="ANSWER3" >
<table ID="LIVREINVENTAIRE4" DATAPAGESIZE=1 DATASRC=#dsoInventaire DATAFLD="REPONSE3" BORDER="0" CELLPADDING="2">
<tr>
<td width="100%">
<input type="checkbox" name="C1" value="ON"><SPAN ID="TESTCK3" DATAFLD="$TEXT" ></SPAN>
</td>
</tr>
</table>
</SPAN>

<SPAN ID="ANSWER4" >
<table ID="LIVREINVENTAIRE5" DATAPAGESIZE=1 DATASRC=#dsoInventaire DATAFLD="REPONSE4" BORDER="0" CELLPADDING="2">
<tr>
<td width="100%">
<input type="checkbox" name="C1" value="ON"><SPAN ID="TESTCK4" DATAFLD="$TEXT" ></SPAN>
</td>
</tr>
</table>
</SPAN>

<SPAN ID="ANSWER5" >
<table ID="LIVREINVENTAIRE6" DATAPAGESIZE=1 DATASRC=#dsoInventaire DATAFLD="REPONSE5" BORDER="0" CELLPADDING="2" >
<tr>
<td width="100%">
<input type="checkbox" name="C1" value="ON"><SPAN ID="TESTCK5" DATAFLD="$TEXT" ></SPAN>
</td>
</tr>
</table>
</SPAN>

</form>


<!-- Boutons de navigation -->

<p>
<SPAN ID="BoutonSuivant">
<INPUT TYPE= "BUTTON" onClick="affiche();Reinitialise();LIVREINVENTAIRE.nextPage();if (dsoInventaire.recordset.EOF)dsoInventaire.recordset.MoveLast();else dsoInventaire.recordset.MoveNext();CacheCheckVide( ); " value="Question suivante">
</SPAN>


<SPAN ID="BoutonScore">
<INPUT TYPE= "BUTTON" onClick="affiche();parent.MontrePageScore();" value ="Score">
</SPAN>
<table border="0" width="100%">
<tr>
<td width="50%" height="132"><img src="toxml.jpg" border="0" >
</td>
<td width="50%"> <p align="center"> <font color="#0000FF"><b> Durée de l'épreuve:</b></font>
<form name="FTEMPS">
<p align="center">
<input type=TEXT name="ZoneTemps" size="6">
<b>minutes écoulées</b>
</form>
&nbsp;</td>
</tr>
</table>

</body>




</HTML>


Score.html:<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>

<body>







<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center"><font size="6" color="#0000FF"><i>Votre score:</i></font></p>
<table border="1" width="100%">
<tr>
<td width="100%">
<p align="center"><i><font color="#FF0000">



<SCRIPT LANGUAGE="JAVASCRIPT">


document.write(parent.score);


</SCRIPT>


</font> points sur un total de


<SCRIPT LANGUAGE="JAVASCRIPT">


document.write(parent.NombreQuestions);


</SCRIPT>



</i></td>
</tr>
</table>


<p align="center"><a href="CorrigeTest.htm">Voir le corrig&eacute;</a></p>
</body>

</html>

Merci à vous.
samedi 1 janvier 2011 à 16:44:48 | Re : Amélioration de script

charlieddr

Voici le script du bouton suivant

<SPAN ID="BoutonSuivant">
<INPUT TYPE= "BUTTON" onClick="affiche();Reinitialise();LIVREINVENTAIRE.nextPage();if

(dsoInventaire.recordset.EOF)dsoInventaire.recordset.MoveLast();else dsoInventaire.recordset.MoveNext

();CacheCheckVide( ); " value="Question suivante">
</SPAN>

Je voudrai un bouton précédent.merci


Cette discussion est classée dans : var, alert, document, treenode, if


Répondre à ce message

Sujets en rapport avec ce message

sujet formulaire [ par limaseb ] J'ai un probleme sur mon formulaire aimerais le faire apparaitre en email outlook mais en colonne et non en ligne avec entre les informations & ces po Player multi format sécuriter java & php [ par c2bomb ] bonjour a tous,je cherche a afficher mon player,dans une fenetre style popup,mais hélas je suis vraiment nulle en javascript...si quelq'un peut m'aide 2 menuS deroulants java dans une page [ par DEVLYNE ] Bonjour!Sachez que je suis uns très grande débutante mais j'ai un petit souci.J'utilise un logiciel gratuit: Coffee Cup DHTML menu pour faire mes menu Compilation conditionnelle. [ par A3nigma64 ] J'ai trouvé un script assez bien pour faire un compte à rebours mais voila lorsque je l'applique sur une de mes page web le compte à rebours ne s'affi fausse popup [ par macone59 ] Je cherche à faire une fausse popup. C'est à dire qu'au depart j'ai une img visible puis au sur vol de celle-ci une image apparait en plus grand.Voici Probleme dans une fonction de verification sous condition if / else if [ par djmath56 ] bonjour,J'ai un problème dans une fonction qui met sert à vérifier les champs d'un formulaire ! J'ai reperer l'endroit où sa coince mais je ne vois pa Affichier un texte avec la position X et Y [ par bshaka ] Bonjour à tous,j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :InitHorloge(265,56,"fon Affichage d'horloge [ par bshaka ] Bonjour à tous,J'ai trouvé cette fonction pour afficher l'horloge à une position X Y sur le net, sauf qu'elle n'affiche pas l'horloge à la bonne posit Afficher texte avec X et Y [ par bshaka ] Bonjour à tous,j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :InitHorloge(265,56,"fon FORMULAIRE champs obligatoires boutons radio [ par ju0123456789 ] Bonjour,Pour mon site web, je suis en train de créer un formulaire de commande, et j'ai créé un script qui oblige l'utilisateur de rentrer les chamsp


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales