2017-09-11 3 views
0

Ein falsche Formular SubmissionFormular unter Schleifenkonstrukt nicht wie erwartet funktioniert

Für den folgenden Code-Schnipsel, ich bin nicht in der Lage in meinem Wunsch eines beliebigen Wert für die Eingabe versteckten Feld zu bekommen.

In Form Tabelle erstellt:

Es ist adaequat, wenn ich die Taste der ersten Reihe Genehmigen klicken.

Problem ist konfrontiert, wenn die Schaltfläche Genehmigen der Zwischenzeile angeklickt wird. Es wurde kein Wert in der Anfrage für die ID = "hidinput" übergeben;

<script> 
function fetchID(){ 
var contentID = document.getElementById("testID").innerHTML; 
document.getElementById("hidinput").value=contentID; 
} 
</script> 


     <%for (APPL_Testimonial_Txn testimonial_Txn : results) {%> 

     <tr> 
     <form action="<%=approve.toString()%>" method="POST"> 

      <td id="testID"><%=testimonial_Txn != null ? testimonial_Txn 
         .getTestimonialId() : ""%></td> 

      <input type="hidden" name="rowId" id="hidinput" value=""/> 
      <td><button class="button-continue ContinueNew" type="submit" 
         onclick="fetchID()">APPROVE</button></td> 
      </form> 
     </tr> 
     <%}%> 

Unten finden Sie eine Bildschirmaufnahme der Tabelle. enter image description here

+1

für einen Start ID-Tags sollen einzigartig sein, auch warum erstellen Sie ein neues Formular für jede Zeile? –

+0

Ich muss den Wert für die erste , die ich an meine Controller oder Aktionsmethode übergeben muss. –

Antwort

0

Gemäß dem obigen Code gibt es keine Möglichkeit, die Zeile zu ermitteln, in der die Schaltfläche zum Genehmigen geklickt wurde. Sie können die Testimonial-ID an eine fetchID-Funktion übergeben.

<script> 
    function fetchID(contentID){ 
     document.getElementById("hidinput").value=contentID; 
    } 
    <script> 
<tr> 
    <form action="<%=approve.toString()%>" method="POST"> 

     <td><%=testimonial_Txn != null ? testimonial_Txn 
        .getTestimonialId() : ""%></td> 

     <input type="hidden" name="rowId" id="hidinput" value=""/> 
     <td><button class="button-continue ContinueNew" type="submit" 
        onclick="fetchID('<%=testimonial_Txn != null ? testimonial_Txn 
        .getTestimonialId() : ""%>')">APPROVE</button></td> 
     </form> 
    </tr> 
    <%}%> 
0

Danke für die Anregung. Ich habe die Position der Formular-Tags geändert, bedeutet, gehalten Form-Tag außerhalb die Schleife Konstrukt halten Form als einzigartig und es hat funktioniert. :)

Verwandte Themen