Formular überprüfen?! Stehe auf dem Schlauch

schogun

Mitglied
Hallo

ich hab eben schon ein wenig gestöbert aber mit Hilfe der Forums suche leider nichts gefunden...

Ich habe folgenden Quellcode:

HTML:
<form action="datei.php" method="post" name="form4" onsubmit="return check()">

<table border="1" >
  <thead>
    <tr>
      <th colspan="4">Bewertung <noscript><br />nur mit aktiviertem JS möglich</noscript></th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th colspan="4"><input type="submit"></th>
    </tr>
  </tfoot> 
  <tbody onclick="unique(event)">
    <tr>
      <th>&nbsp;</th>
      <th> Platz 1</th>
      <th> Platz 2</th>
      <th> Platz 3</th>
    </tr>
    <tr>
      <th>Foto1</th>
      <td><input type="radio" name="platz[1]" value="foto1"></td>
      <td><input type="radio" name="platz[2]" value="foto1"></td>
      <td><input type="radio" name="platz[3]" value="foto1"></td>
    </tr>
    <tr>
      <th>Foto2</th>
      <td><input type="radio" name="platz[1]" value="foto2"></td>
      <td><input type="radio" name="platz[2]" value="foto2"></td>
      <td><input type="radio" name="platz[3]" value="foto2"></td>
    </tr>
    <tr>
      <th>Foto3</th>
      <td><input type="radio" name="platz[1]" value="foto3"></td>
      <td><input type="radio" name="platz[2]" value="foto3"></td>
      <td><input type="radio" name="platz[3]" value="foto3"></td>
    </tr>
  </tbody>
</table>
</form>

<script type="text/javascript">
<!--
function unique(e)
{
  btn=(window.event)?e.srcElement:e.target;//worauf wurde geklickt
  if(btn.tagName=='INPUT')//wenn es ein INPUT war....
    {
      row=btn.parentNode.parentNode;//Eltern-TR
      for(i=0;i<row.getElementsByTagName('INPUT').length;++i)//inputs durchlaufen
        {
          row.getElementsByTagName('INPUT')[i].checked=(btn==row.getElementsByTagName('INPUT')[i]);//checked setzen
        }
    }
}

//-->
</script>

So, nun möchte ich per Javascript überprüfen ob wirklich jeweils eine Platzierung ausgewählt wurde und ja nicht eine vergessen.

Ich habe es so versucht:

HTML:
function checkphase4()
{
 if (document.form4.platz[1].checked == false)
 {
  alert("Du hast Platz 1 nicht vergeben");
  return false;
 }
 if (document.form4.platz[2].checked == false)
 {
  alert("Du hast Platz 2 nicht vergeben");
  return false;
 }
 if (document.form4.platz[3].checked == false)
 {
  alert("Du hast Platz 3 nicht vergeben");
  return false;
 }
 if (document.form4.platz[4].checked == false)
 {
  alert("Du hast Platz 4 nicht vergeben");
  return false;
 }
 if (document.form4.platz[5].checked == false)
 {
  alert("Du hast Platz 5 nicht vergeben");
  return false;
 }
 if (document.form4.platz[6].checked == false)
 {
  alert("Du hast Platz 6 nicht vergeben");
  return false;
 }
 if (document.form4.platz[7].checked == false)
 {
  alert("Du hast Platz 7 nicht vergeben");
  return false;
 }
 if (document.form4.platz[8].checked == false)
 {
  alert("Du hast Platz 8 nicht vergeben");
  return false;
 }
 if (document.form4.platz[9].checked == false)
 {
  alert("Du hast Platz 9 nicht vergeben");
  return false;
 }
 if (document.form4.platz[10].checked == false)
 {
  alert("Du hast Platz 10 nicht vergeben");
  return false;
 }
}


Aber leider funktioniert das nicht. Könnt ihr mir helfen?
 
Bringt es evtl jeder Platzierung eine ID zu geben?

Also die Radiobuttons mit dem namen Platz[1] die ID 1
den mit dem namen Platz[2] die ID 2
uns.

Kann man die dann ansteuern und abfragen ob einer von den jeweisl 10 Radiobuttons angeklickt wurde?
 
Moin,

dein Versuch schlägt fehl, weil in JS nicht wie bspw. in PHP aus den Elementen Namens platz ein Array erstellt wird, platz[1] hat dort keinerlei Gemeinsamkeit mit bspw. platz[2].

Ein Array wird vielmehr erzeugt aus allen Elementen namens platz[1](also ein Array mit 3 Checkboxen)


Hier findest du ein Skript, welches dir die Prüfung abnimmt:
http://www.tutorials.de/forum/javas...ascript-formulareingaben-pruefen-vol-2-a.html

Die zu notierenden Kriterien wären dabei:
Code:
arrFields['platz[1]']  = new Array(1,'==1','Nominiere Platz1');
arrFields['platz[2]']  = new Array(1,'==1','Nominiere Platz2');
arrFields['platz[3]']  = new Array(1,'==1','Nominiere Platz3');
 

Neue Beiträge

Zurück