2017-02-17 3 views
2

getStudents.jsForm Umleitung nicht auf neue Seite

$("#submit").click(function(){ 
$.ajax({ 
    url: "displayStudents.php?branchCode=1", 
    datatype:"JSON", 
    success: function(obj){ 
     $("table").append("<form method='POST' action='markAttendance.php'>  <tr><th>Roll No</th> <th>Name</th><th colspan='2'>Attendance</th></tr>"); 
     for(var i=0; i<obj.length; i++){ 
      $("table").append(
       "<tr>"+ 
       "<td>"+obj[i].RollNo+"</td>"+ 
       "<td>"+obj[i].Name+"</td>"+ 
       "<td><input type='radio' name='mark["+i+"]' value='Present'>Present" + 
       "<input type='radio' name='mark["+i+"]' value='Absent' checked>Absent</td>" + 
       "</tr>" 
       ); 
     } 
     $("table").append("<tr><td><button type='submit' name='submitMark' id='submitMark'>Mark Attendance</button></td></tr></form>"); 
     $("#submit").hide(); 
    }  
}) 
}); 

In der HTML-Datei gibt es eine Tabelle und Taste ist mit id wie vor. Ich bekomme den JSON richtig und es wird auch richtig angezeigt. Aber immer, wenn ich auf die Schaltfläche Teilnahme markieren klicke, wird sie nicht zu markAttendance.php umgeleitet.

+0

Gibt es einen Fehler in der Konsole? – mvermand

+0

Es wird nicht zur Markattendence-Seite gehen, da das Formular nur auf der Submit-Schaltfläche gesendet wird, sondern die Marktzuständigkeit nicht vom Typ "submit" ist. –

+0

@mbefehl Es gibt keinen Fehler. Nichts wird angezeigt. –

Antwort

2

Versuchen Sie Ihren Anruf wie folgt aus:

$('body').on('click',"#submit",function(){ 

Wie es AJAX ist, Seite wird nicht auf displayStudents.php umleiten. Auf der Seite wird ein Async-Aufruf erfolgen.

Sie können auf Inspect Tools -> Netzwerk Registerkarte verfolgen.

Statt <table><form></form></table> Struktur, nicht <form><table></table></form>

+0

Die Methode hat nicht funktioniert. Und danke für den asynchronen Anrufteil. –

+0

überprüfen Sie die Konsole Protokolle .. Es kann einen Fehler geben, der Ihnen helfen kann, korrigieren –

+0

Nein, keine Fehler. –