2017-02-09 4 views
0

Ich habe durch verschiedene Beispiele der radio buttons Validierung und greifen Sie auf das Konzept, aber keine Beispiele scheinen meine Situation zu passen. Ich habe meine Datenbank abgefragt, die vier Optionen haben und für jede Option habe ich ein zugehöriges Optionsfeld wie unten generiere:Validieren Sie dynamisch benannte Radiobuttons mit Javascript

<?php foreach($options as $option){ ?> 

<p><input type="radio" name="ID<?php echo $row['id']; ?>" value="<?php echo $option; ?>"><?php echo $option; ?></p> 

<?php } ?> 

So erzeugt dies im Grunde vier Radiobuttons pro Zeile aus der Datenbank aufgerufen. Dies scheint in der Quelle als:

<form method="POST" action="Result.php"> 
    <p>1. Question </p> 
     <p><input type="radio" name="ID1" value="answer1">answer1</p> 
     <p><input type="radio" name="ID1" value="answer2">answer2</p> 
     <p><input type="radio" name="ID1" value="answer3">answer3</p> 
     <p><input type="radio" name="ID1" value="answer4">answer4</p> 
    <p>2. Question 2</p> 
     <p><input type="radio" name="ID2" value="answer1">answer1</p> 
     <p><input type="radio" name="ID2" value="answer2">answer2</p> 
     <p><input type="radio" name="ID2" value="answer3">answer3</p> 
     <p><input type="radio" name="ID2" value="answer4">answer4</p> 
    <input type="submit" name="submit" value="Submit!">   
</form> 

etc etc.

Die Namen dieser Optionsfelder werden durch php teilweise erzeugt, wie kann ich Javascript mit einem zugehörigen Alarm verwenden 1 der Radio-Buttons zu überprüfen aus Jede Frage wurde vor dem Absenden des Formulars überprüft, in dem die Fragen enthalten sind.

Oder vielleicht auch nur wie kann ich das mit PHP ISSET erreichen?

+0

In der 'result.php' gibt 'isset ($ _ POST [' ID1 '])' den Wert true zurück, wenn einer dieser Optionsschalter der ersten Frage aktiviert wurde. Dann wird '$ _POST ['ID1']' den Wert von entweder answer1, answer2 und so weiter enthalten. – Eddi

+0

Eddi, danke deine Antwort, ich verstehe, dass dies innerhalb der results.php passieren würde, aber meine Frage war, wie könnte ich das Formular innerhalb der gleichen Seite vor dem Absenden des Formulars auf results.php Entschuldigung für die Verwirrung überprüfen – Kieran

Antwort

1

JavaScript Mit nur, um zu überprüfen, ob ein Optionsfeld innerhalb einer Funkgruppe geprüft:

function radiogroupSelected(name){ 
    var inputArr = document.getElementsByName(name); 
    for(var i = 0; i < inputArr.length; i++){ 
     if(inputArr[0].checked){ 
      return true; 
     } 
    } 

    return false; 
} 

Jetzt können Sie diese Funktion aufrufen, wie radiogroupSelected('ID1') zu bestimmen, ob einer der Eingänge ausgewählt wurde.

+0

Vielen Dank für Ihre Hilfe, ich habe dieses Konzept verwendet und für jede ID erweitert. Schätze die Antwort Danke! – Kieran

Verwandte Themen