2012-04-06 13 views
1

Ich habe eine Seite für die Antwort/Frage. Ich erhalte die Liste der Frage für den Administrator. Admin sehen Sie das. Jetzt muss ich Antwort auf jede Frage senden. also stelle ich für jede Frage textarea und form mit Postaktion. Jetzt muss ich, wenn Antwort der Frage Nachricht senden, wenn Nachricht an externe PHP-Dateien senden = true; der Nachricht (ID) entfernen (jquery Slide-up-Effekt). Dafür habe ich jquery Formularcode einreichen (ohne Seite aktualisieren), aber ich habe ein großes Problem. das funktionierte NUR mit einem Formular! und nicht für alle Listenform (Frage + Antwortformular) gearbeitet. Wie funktioniert mein Code für mehrere Formulare? Ich habe den richtigen Weg gewählt?Übermitteln Sie mehrere Formulare mit jQuery PHP mysql

HTML-Code:

<form action="insert.php?id=42" id="forms" method="POST" name="form"> 
<div id="box"> 
<div class="messagequestion"></div> 
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div> 
</div> 
</form> 
<form action="insert.php?id=45" id="forms" method="POST" name="form"> 
<div id="box"> 
<div class="messagequestion"></div> 
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div> 
</div> 
</form> 
<form action="insert.php?id=48" id="forms" method="POST" name="form"> 
<div id="box"> 
<div class="messagequestion"></div> 
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div> 
</div> 
</form> 
<form action="insert.php?id=50" id="forms" method="POST" name="form"> 
<div id="box"> 
<div class="messagequestion"></div> 
<div class="messagereply"><textarea></textarea><input type="submit" class="submit" name="submit" value="submit"></div> 
</div> 
</form> 

Dank

+1

Verwenden 'id' für mehrere Objekte –

Antwort

0

Ihr Hauptproblem ist wahrscheinlich, dass Sie IDs wiederverwenden möchten. Alle Formulare haben die ID "forms" und Sie teilen auch die ID "box".

Alle IDs sollten ein Element eindeutig identifizieren. Verwenden Sie eine Klasse, wenn Sie ein Element klassifizieren müssen. Ich würde empfehlen, dass Sie id="forms" auf allen Formularen zu class="reply_form" ändern und dann auch auf allen divs zu class="reply_box" ändern. Ändern Sie dann die für #forms und #box festgelegten Formate in die für .reply_form und .reply festgelegten Formate.

EDIT - Änderungen in JFiddle nach einigen Diskussionen mit dem OP gemacht.

http://jsfiddle.net/gvnfg/5/

+0

nicht funktionieren! Sehen Sie Ihren Demo-Code: http://jsfiddle.net/gvnfg/1/ – Gcoder

+0

Schauen Sie sich http://jsfiddle.net/gvnfg/2/ – ghbarratt

+0

Ich ändere dies für jeden ''! http://jsfiddle.net/gvnfg/3/ nach dem Klicken zum Absenden ich sehe Dialogfeld, aber nach dem Klicken ok sehe ich Schleife des Dialogfelds für andere ID. Das ist ein großes Problem. – Gcoder

-1

Verwendung JQuery .each() Methode:

$(document).ready(function() { 
    $('#forms').each(function() { 

     this.submit(function() { 
      $.ajax({ ... }); 
     }); 
    }); 

}) 
0

nur den Wähler ändern. id Attribut muss eindeutig sein nicht dasselbe in html

$("[name='form']").submit(function() { 
    $this = $(this);  
    $.ajax({ 
     type: 'POST', 
     url: $(this).attr('action'), 
     data: $(this).serialize(), 
     cache: false,  
     beforeSend: function() { 
      $('#loading').show(); 
      $('#result').hide(); 
     }, 
     success: function(data) { 
      if(data==1){ 
       $('#loading').hide(); 
       $('#result').fadeIn('slow').html("ok"); 
       $('#result').addClass('true'); 
       $this.slideUp(1000); 
      } 
     else { 
      $('#loading').hide(); 
      $('#result').fadeIn('slow').html(data); 
      $('#result').addClass('errors'); 
     }} 
    }); 
    e.preventDefault(); 
    return false; 
}); 
+0

Wo ist dein Absenden-Button? – Yorgo

+0

Aktualisiert! nach jedem Textfeld. Dein Code wird nicht entfernt/verschoben. in deinem Code entferne nur die oberste Zeile, also nach nicht entfernen. ex in meinem Code: entferne 'id = 42'. – Gcoder

Verwandte Themen