получить данные формы с помощью javascript, а затем отправить его в файл php с помощью ajax - PullRequest
1 голос
/ 07 июля 2011

У меня возникли проблемы с получением данных из формы для публикации через ajax. У меня есть следующий код, но он, похоже, не отправляет данные из таких элементов, как флажки и переключатели. Вместо этого он отправляет через все поля. то есть, если есть набор радиокнопок, он передает все возможности, а не только проверенные. Форма может состоять из элементов любого типа и иметь ограниченное количество элементов, поэтому мне нужно повторить то, что я есть. Эта часть, кажется, работает, но я не могу получить javascript, чтобы получить выбранные данные. Нужно ли вручную проверять тип каждого элемента, а затем проверять, проверен ли он и т. Д.

myString = "";
my_form_id = "1";
my_url = "phpscript.php";
elem = document.getElementById("form_" + my_form_id).elements;
for(var i = 0; i < elem.length; i++)
{
     if (i>0) { myString += "&"; }
     myString += elem[i].name + "=" + elem[i].value;
}  
$.ajax({
type: "POST",
url: my_url,
data: myString,
success: function(data) {
// process the post data
}
});

`

1 Ответ

2 голосов
/ 07 июля 2011

Поскольку вы используете jQuery, вы можете существенно упростить все это:

var my_form_id = "1";
var my_url = "phpscript.php";
var form = $("#form_" + my_form_id);

$.ajax({
    type: "POST",
    url: my_url,
    data: form.serialize(),
    success: function(data) {
        // process the post data
    }
});

jQuery's serialize метод сделает всю работу за вас.Но если вы хотите сделать это вручную, тогда да, вам придется проверять каждое поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...