2016-11-08 5 views
0

Ich verwende Express.js und EJS, um die Ansichten zu rendern. Ich baue eine kleine Web-App und gebe Variablen zur Darstellung einer bestimmten Seite ein. Die Seite verwendet eine for-Schleife, um eine Reihe von Optionsfeldern basierend auf der Größe des Arrays zu generieren, an das ich sie übergebe. Die Radiobuttons haben Werte und ich lasse den Benutzer eine Option auswählen und diese dann als Post-Methode zurückgeben. Hier ist der Code auf der gerenderten Seite. Das Problem ist, dass die Optionsfelder unabhängig erzeugt werden (so dass ich alle auswählen kann ... nicht das eine oder das andere in typischer Radiobutton-Art).Express.js Optionsfelder als Form-Post-Methode mit Render-Parametern

 <div class="answers"> 
      <h2 class="movie-header">Select One:</h2> 
      <form method="post"> 
       <% for (var i = 0; i < answers.length; i++) { %> 
        <input type="radio" name="answer<%= i %>" value="<%= answers[i] %>"> <%= answers[i] %><br> 
       <% } %> 
       <input type="submit" value="Submit"> 
      </form> 
     </div> 

Antwort

2

Sie sollen das gleiche name Attribut für jedes Optionsfeld verwenden, um eine „Radio-Button-Gruppe“ zu schaffen, die nur lassen werden Sie einen Wert aus einer Gruppe von Tasten auswählen. Sehen Sie sich den Typ "Radio" auf dieser Seite an: MDN html input

<input type="radio" name="answer" value="<%= answers[i] %>"> <%= answers[i] %><br> 
+0

Vielen Dank! Ich wusste, dass es etwas Dummes war. Ich habe Name mit ID für die Attribute verwechselt. Danke noch einmal! –