psYcl-loSe
09-30-2003, 09:52 AM
Hi I've finally made my questionnary script but there is one place that bug. All my form is ok except for the slect multiple.
Here is the page to see the form and test with the JavaScript code what this code is doin and here is the code:
CODE
// JavaScript Document
//***************************************************************************************************
//******** Nom: Kévin Bédard
//******** Projet: TP1 - JavaScript
//******** Date de remise: Semaine 6
//******** Établissement: Collège de Maisonneuve
//***************************************************************************************************
function pValidation() {
//Déclaration des variables des sous-tableau//
/*----*/var arQuestion0 = new Array();/*----*/
/*----*/var arQuestion1 = new Array();/*----*/
/*----*/var arQuestion2 = new Array();/*----*/
/*----*/var arQuestion3 = new Array();/*----*/
/*----*/var arQuestion4 = new Array();/*----*/
/*----*/var arQuestion5 = new Array();/*----*/
/*----*/var arQuestion6 = new Array();/*----*/
/*----*/var arQuestion7 = new Array();/*----*/
//Fin de la déclaration des variables------//
//Déclaration du tableau contenant mes sous-tableau--------------------------------------------------------------------------------//
var arQuestion = new Array(arQuestion0, arQuestion1, arQuestion2, arQuestion3, arQuestion4, arQuestion5, arQuestion6, arQuestion7);
//Fin de la déclaration du tableau contenant mes sous-tableau----------------------------------------------------------------------//
var q = 0
var r = 0
for (k = 0; k < document.forms[0].elements.length; k++) {
switch (document.forms[0].elements[k].type) {
case "radio":
if (document.forms[0].elements[k].checked == true) {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case"checkbox":
if (document.forms[0].elements[k].checked == true) {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case"select-one":
for (i = 0; i < document.forms[0].elements[k].options.length; i++) {
if (document.forms[0].groupe.options[i].selected == true){
//alert(document.forms[0].groupe.options[i].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
}
break;
case "text":
if(document.forms[0].elements[k].value == "") {
//alert("Vous devez écrire une réponse!");
document.forms[0].elements[k].focus();
}
else {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case "select-multiple":
for (b = 0; b < document.forms[0].elements[k].options.length; b++) {
if (document.forms[0].association.options[b].selected == true) {
//alert(document.forms[0].association.options[b].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
}
break;
}//fin du switch
if (document.forms[0].elements.length == k){
if (document.forms[0].elements[k].type != document.forms[0].elements[k+1].type){
q++
}
}//fin du if
}//fin du for
for (x = 0; x < arQuestion.length; x++) {
for(y = 0; y < arQuestion[x].length; y++) {
document.write(arQuestion[x][y]+"<br>");
}
}
}//fin de fonction
As you might have notice if you went on the form page, if you select two different itwem in the select multiple, it return the same twice when you validate.
How can I resolve that. URL (http://eleves_tim.cmaisonneuve.qc.ca/e0170174/javascript.2/tp1/tp1/)
Here is the page to see the form and test with the JavaScript code what this code is doin and here is the code:
CODE
// JavaScript Document
//***************************************************************************************************
//******** Nom: Kévin Bédard
//******** Projet: TP1 - JavaScript
//******** Date de remise: Semaine 6
//******** Établissement: Collège de Maisonneuve
//***************************************************************************************************
function pValidation() {
//Déclaration des variables des sous-tableau//
/*----*/var arQuestion0 = new Array();/*----*/
/*----*/var arQuestion1 = new Array();/*----*/
/*----*/var arQuestion2 = new Array();/*----*/
/*----*/var arQuestion3 = new Array();/*----*/
/*----*/var arQuestion4 = new Array();/*----*/
/*----*/var arQuestion5 = new Array();/*----*/
/*----*/var arQuestion6 = new Array();/*----*/
/*----*/var arQuestion7 = new Array();/*----*/
//Fin de la déclaration des variables------//
//Déclaration du tableau contenant mes sous-tableau--------------------------------------------------------------------------------//
var arQuestion = new Array(arQuestion0, arQuestion1, arQuestion2, arQuestion3, arQuestion4, arQuestion5, arQuestion6, arQuestion7);
//Fin de la déclaration du tableau contenant mes sous-tableau----------------------------------------------------------------------//
var q = 0
var r = 0
for (k = 0; k < document.forms[0].elements.length; k++) {
switch (document.forms[0].elements[k].type) {
case "radio":
if (document.forms[0].elements[k].checked == true) {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case"checkbox":
if (document.forms[0].elements[k].checked == true) {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case"select-one":
for (i = 0; i < document.forms[0].elements[k].options.length; i++) {
if (document.forms[0].groupe.options[i].selected == true){
//alert(document.forms[0].groupe.options[i].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
}
break;
case "text":
if(document.forms[0].elements[k].value == "") {
//alert("Vous devez écrire une réponse!");
document.forms[0].elements[k].focus();
}
else {
//alert(document.forms[0].elements[k].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
break;
case "select-multiple":
for (b = 0; b < document.forms[0].elements[k].options.length; b++) {
if (document.forms[0].association.options[b].selected == true) {
//alert(document.forms[0].association.options[b].value);
arQuestion[q][r] = document.forms[0].elements[k].value
r++
}
}
break;
}//fin du switch
if (document.forms[0].elements.length == k){
if (document.forms[0].elements[k].type != document.forms[0].elements[k+1].type){
q++
}
}//fin du if
}//fin du for
for (x = 0; x < arQuestion.length; x++) {
for(y = 0; y < arQuestion[x].length; y++) {
document.write(arQuestion[x][y]+"<br>");
}
}
}//fin de fonction
As you might have notice if you went on the form page, if you select two different itwem in the select multiple, it return the same twice when you validate.
How can I resolve that. URL (http://eleves_tim.cmaisonneuve.qc.ca/e0170174/javascript.2/tp1/tp1/)