Problème de validation de formulaire

Problème de validation de formulaire - ASP - Programmation

Marsh Posté le 07-06-2006 à 14:05:19    

Bonjour... J'ai réellement besoin d'aide! Ya déjà plusieurs heures je que j'essais de trouver une solution, mais toujours rien.
 
Je dois valider que tous les champs d'un formulaire soient remplis avec une fonction en javascript. Les attributs "name" de mes inputs sont incrémentés en asp (ce qui me cause problème). Ce formulaire est lié à une base de données access et se crée de façon automatique (j'ai plusieurs questionnaires de ce type à faire d'où la raison de tout automatiser). Voici le code:
 
<%WHILE (NOT curseurQuestion.EOF)%>
 
<tr>
<td align="center" valign="middle" class="cote">
<%=noQuestion%>
</td>
 
<td valign="top" class="bordurebas">
<p><%=curseurQuestion.fields.Item("Question" ).value%></p>
</td>
 
<td valign="middle" class="bordurebas">
<input name="<%=nomQuestion%>" type="radio" value="1" id="form1">
</td>
 
<td valign="middle" class="bordurebas">
<input name="<%=nomQuestion%>" type="radio" value="2" id="form1">
</td>
 
<td valign="middle" class="bordurebas">
<input name="<%=nomQuestion%>" type="radio" value="3" id="form1">
</td>
 
<td valign="middle" class="bordurebas">
<input name="<%=nomQuestion%>" type="radio" value="4" id="form1">
</td>
 
<td valign="middle" class="bordurebas">
<input name="<%=nomQuestion%>" type="radio" value="5" id="form1">
</td>
 
<td valign="top" class="cote"><img src="../images/spacer.gif" alt=" " width="10" height="1" ></td>
</tr>
 
<%
noQuestion = noQuestion + 1
nomQuestion = nomQuestion + 1
curseurQuestion.MoveNext()
wend
SESSION("nbrQuestion" ) = nomQuestion - 1
%>
 
Toute aide serait grandement GRANDEMENT appréciée!

Reply

Marsh Posté le 07-06-2006 à 14:05:19   

Reply

Marsh Posté le 10-07-2006 à 11:12:11    

Bonjour,
 
Si je ne m'abuse, le problème vient d'après moi du fait que les éléments de ton formulaire on tous le même ID (à savoir "form1" ).
Essayes de mettre un ID différents et en suite d'y faire référence pour leur remplissage...
 
Sylvain.

Reply

Marsh Posté le 10-07-2006 à 11:25:31    

c'est clair que c'est un souci ça... un id est forcément unique.
 
ensuite, euh... tu veux vérifier pour chaque question qu'au moins un des 5 checkbox est coché, c'est ça ?

Reply

Marsh Posté le 10-07-2006 à 11:56:02    

Bon, en l'absence de réponse...
 

Code :
  1. <html>
  2.   <head>
  3.     <title>Test de valiation de QCM</title>
  4.     <script type="text/javascript">
  5.      function testQCM()
  6.      {
  7.       var oldName = new String();
  8.       var chkElements = new Array();
  9.       oldName = "";
  10.       for (var i = 0; i < this.elements.length; i++)
  11.       {
  12.        if (this.elements[i].type == "checkbox" )
  13.        {
  14.        chkElements[chkElements.length] = this.elements[i];
  15.        }
  16.       }
  17.       chkElements.sort(sortElements);
  18.   var isChecked = new Boolean();
  19.   isChecked = false;
  20.       for (var i = 0; i < chkElements.length; i++)
  21.       {
  22.        if (oldName != chkElements[i].name)
  23.        {
  24.     if (oldName.length > 0)
  25.        {
  26.         if (!isChecked)
  27.         {
  28.          break;
  29.         }
  30.     }
  31.     oldName = chkElements[i].name;
  32.     isChecked = false;
  33.    }
  34.    if (chkElements[i].checked)
  35.    {
  36.     isChecked = true;
  37.    }
  38.   }
  39.   if (isChecked)
  40.   {
  41.       return true;
  42.      }
  43.      else
  44.      {
  45.    alert("Question " + oldName + " non remplie" );
  46.    return false;
  47.      }
  48.      }
  49.  function sortElements(a, b)
  50.  {
  51.   if (a.name > b.name)
  52.   {
  53.    return 1;
  54.   }
  55.   else if (a.name < b.name)
  56.   {
  57.    return -1;
  58.   }
  59.   else
  60.   {
  61.    return 0;
  62.   }
  63.  }
  64.      function prepare()
  65.      {
  66.       document.getElementById("frmQCM" ).onsubmit = testQCM;
  67.      }
  68.      window.onload = prepare;
  69.     </script>
  70.   </head>
  71.   <body>
  72.    <form method="post" id="frmQCM">
  73.      Question 1 <input type="checkbox" name="q1" value="1"/> <input type="checkbox" name="q1" value="2"/> <input type="checkbox" name="q1" value="3"/> <input type="checkbox" name="q1" value="4"/> <input type="checkbox" name="q1" value="5"/><br/>
  74.      Question 2 <input type="checkbox" name="q2" value="1"/> <input type="checkbox" name="q2" value="2"/> <input type="checkbox" name="q2" value="3"/> <input type="checkbox" name="q2" value="4"/> <input type="checkbox" name="q2" value="5"/><br/>
  75.      Question 3 <input type="checkbox" name="q3" value="1"/> <input type="checkbox" name="q3" value="2"/> <input type="checkbox" name="q3" value="3"/> <input type="checkbox" name="q3" value="4"/> <input type="checkbox" name="q3" value="5"/><br/>
  76.      Question 4 <input type="checkbox" name="q4" value="1"/> <input type="checkbox" name="q4" value="2"/> <input type="checkbox" name="q4" value="3"/> <input type="checkbox" name="q4" value="4"/> <input type="checkbox" name="q4" value="5"/><br/>
  77.      Question 5 <input type="checkbox" name="q5" value="1"/> <input type="checkbox" name="q5" value="2"/> <input type="checkbox" name="q5" value="3"/> <input type="checkbox" name="q5" value="4"/> <input type="checkbox" name="q5" value="5"/><br/>
  78.      <input type="submit"/>
  79.    </form>
  80.   </body>
  81. </html>


 
Amuse-toi bien


Message édité par Arjuna le 10-07-2006 à 11:56:45
Reply

Marsh Posté le 10-07-2006 à 11:57:41    

testé sur IE7 béta 2 et FF 1.5 béta 2

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed