2016-08-08 71 views
-2

Ich habe Formular mit Eingabefeld aus Schleife erzeugt, dhBeitrag php Form jquery ajax

<form name="" method='post' action=''> 
<?php 
for($i=0;$i<10;$i++){ 
echo "<input type='text' name='data[]' class='data_cls' value='".$i."'>"; 
} 
?> 
<input type='submit' id='btn' value='save'> 

i das Formular mit Jquery Ajax einreichen möchten.

$('.btn').click(function(){ 

      var datString = "HOW TO GET THESE VALUES"; 

      $.ajax({ 
      url: "data_process.php", 
      type: "post", 
      data: dataString, 
      success: function(data) { 
       alert('OK'); 
      } 
     }); 

    }); 
+1

Verwenden Sie 'serialize()'. Dann in Ihrem '$ .ajax' Aufruf:' data: $ ('form'). Serialize(); ' –

+1

Mögliches Duplikat von [Serialisierung und Übermittlung eines Formulars mit jQuery POST und PHP] (http://stackoverflow.com/ questions/15173965/serialisieren-und-einreichen-form-mit-jquery-post-und-php) – KAD

+0

Der beste Weg, dies zu tun, hängt wirklich davon ab, was Ihr gewünschtes Ergebnis ist. –

Antwort

3

Sie können .serialize() jQuery-Methode verwenden, um die Formulardaten zu erhalten. Wie diese

$('.btn').click(function(){ 

      var dataString = $('#FORM_ID').serialize(); 
      //replace FORM_ID with the ID of the form. 

      $.ajax({ 
      url: "data_process.php", 
      type: "post", 
      data: dataString, 
      success: function(data) { 
       alert('OK'); 
      } 
     }); 

    }); 
0

Versuchen Sie folgendes:

var datString = ""; 

$(".data_cls") 
     .map(function() { 
      datString += $(this).val(); 
     }) 
     .get(); 
0

Versuchen

var Data = {}; 
$('input[name=data]').each(function(i) { 
    Data[i] = $(this).val(); 
}); 
0

Ich glaube, Sie Parameter zu binden, in Daten Ajax Post

$('.btn').click(function(){ 

      var datString = "'HOW TO GET THESE VALUES'"; 

      $.ajax({ 
      url: "data_process.php", 
      type: "post", 
      data: "'USERPARAMETR' : " dataString, 
      success: function(data) { 
       alert('OK'); 
      } 
     }); 

    }); 

Wenn Sie vergessen haben, nicht Verwenden Sie den Parameter in der Seite data_process.php. Bitte benutze es.

Bitte aktualisieren und überprüfen

0

Zuerst gibt der Form eine ID oder Klasse dh Form

<form name="" method='post' action='' id='form'>... 

Dann können Sie alle Eingaben von der Erfassung von mit der allgemeinen serialize Methode

<script type="text/javascript"> 
$(document).on("click", ".btn", function(e) { 
e.preventDefault(); 
var datastring = $("#form").serialize(); 

{ 
     $.ajax({ 
     url: "data_process.php", 
     type: "post", 
     data: dataString, 
... 

Und auf der PHP-Seite erhalten Sie die Daten wie geschrieben

$values = $_POST['data']; 

$N = count($values); 

for($i=0; $i < $N; $i++) 
{ 

    $currentvalue = $values[$i]; 
    //now this value will loop and you will do with it the way you want to 
    //For example 
    $save = mysqli_query($link, "UPDATE table SET `column` = '$currentvalue' WHERE ...") or die(mysqli_error($link)); 

}