2014-02-01 6 views
0

Итак, я пытаюсь создать вызов jquery (все еще обучение), чтобы вытащить все входы, которые у меня есть на странице, когда они меняются, и отправить их в файл php для разбора, я хочу использовать это обновить мою БД без кнопки отправки и перезагрузки страницы снова и снова, ниже, что я в настоящее времяПолучение нескольких входов с jquery

<script> 
var data = {}; 
    $(document).change(function() { 
     var $name = $('.test').attr('name'); 
     var value = $('.test').attr('value'); 
     data[$name]=value; 

     $.ajax({ 
      type: "POST", 
      url: "some.php", 
      data: data, 
      success: function(response){ 
       $("#legend").html(response); 
      } 
     }); 
    }); 
</script> 
<div id="legend"></div> 
<form> 
<input type="text" name="hp" class="test"> 
<input type="text" name="mana" class="test" /> 
</form> 

так, что я пытаюсь сделать выше, использовать переменный я настроил для всех моих вещей с классом, так что мне не нужно создавать что-то для обработки каждого поля ввода, я знаю, что смогу сделать это в конце с помощью submit, im, просто пытающегося сделать это, поскольку человек обновляет текст, спасибо за ваше время

Вот пример (потому что вызов PHP работает здесь): http://aardwolfbootcamp.com/lizza/hadtest.php

+0

Вы должны сделать jsfiddle. – astex

ответ

0

Я думаю, что это то, что вы ищете:

data = $('form').serialize(); 
+0

Спасибо, я не знаю, как я пропустил это в своих чтениях, угадайте, что у меня есть больше чтений, чтобы сделать =/ –

0

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

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: $('form').serialize(), 
    success: function(response){ 
     $("#legend").html(response); 
    } 
}); 

или вы можете использовать

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: $('.test').serialize(), 
    success: function(response){ 
     $("#legend").html(response); 
    } 
}); 

Documentation : http://api.jquery.com/serialize/

+0

это вызовет Uncaught TypeError: Object # не имеет метода 'serialize' – pwolaq

0

Вы можете делать то, что на события изменения формы или документа, как вы делаете.

Пример:

$("form").on("change", function(){ 

    console.log($("form").eq(0).serialize()); 

    $.ajax({ 
     url : "url.php", 
     data : $("form").eq(0).serialize(), 
     type : "POST", 
     success : function(data){ 
      // your stuffs here 
     } 
    }); 
}); 

Working Demo

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