2016-08-08 6 views
-2

я иметь форму с полем ввода сгенерированного из цикла, т.е.Сообщение PHP формы 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'> 

я хочу отправить форму с помощью JQuery Ajax.

$('.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

Используйте 'serialize()'. Затем в вашем вызове '$ .ajax':' data: $ ('form'). Serialize(); ' –

+1

Возможный дубликат [сериализации и отправки формы с помощью jQuery POST и php] (http://stackoverflow.com/ вопросы/15173965/serializing-and-submitting-a-form-with-jquery-post-and-php) – KAD

+0

Лучший способ сделать это действительно зависит от вашего желаемого результата. –

ответ

3

Вы можете использовать метод jQuery .serialize(), чтобы получить данные формы. Подобно этому,

$('.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

Попробуйте это:

var datString = ""; 

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

Попробуйте

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

Я думаю, что вы забыли связать параметр в АЯКС данных пост

$('.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'); 
      } 
     }); 

    }); 

Если вы не используйте параметр на странице data_process.php. Пожалуйста, используйте его.

Необходимо обновить и проверить

0

Сначала дайте форме удостоверение или класса, т.е. форму

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

Тогда вы можете захватить все входы от с использованием общего метода сериализации

<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, 
... 

На странице PHP вы получите данные как отправленные

$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)); 

} 
Смежные вопросы