#jquery #get
#jquery #получить
Вопрос:
Есть ли какой-либо способ автоматизировать добавление параметров в jQuery $.get ?
На данный момент я перечисляю их вручную, но что мне делать, если в форме 100 полей?
Пожалуйста, посмотрите мой комментарий в коде ниже.
$.get:
// How to automate this?
var ContactName = $('#contact-name').val();
var ContactEmail = $('#contact-email').val();
var ContactPhone = $('#contact-phone').val();
var ContactMessage = $('#contact-message').val();
$.get("contact-form.php", {
// How to automate this?
ContactName: ContactName,
ContactEmail: ContactEmail,
ContactPhone: ContactPhone,
ContactMessage: ContactMessage
}, function() {}).success(function() {
// Do stuff once email send
})
Комментарии:
1. Если бы у вас была форма с сотнями полей, я бы сказал, что вам нужно изменить свою форму. 1 поле формы — это слишком много, не говоря уже о сотнях.
2. @Джейми Диксон — 100 в основном. Но я ожидаю более 30 (сбор и анализ данных).
Ответ №1:
Используйте serialize()
$("#formID").serialize();
Комментарии:
1. @NewUser: У вас есть пример
Ответ №2:
Просто используйте $(«#myForm»).serialize(). см http://api.jquery.com/serialize /
$.get("contact-form.php",$("#myForm").serialize(), function() {}).success(function() {
// Do stuff once email send
});
вы также можете использовать serializeArray(), если хотите вручную добавить некоторые параметры в сериализованную форму, см. http://api.jquery.com/serializeArray /
var params = $("#myForm").serializeArray();
params.push({ name : "custom", value : "toto"});
$.get("contact-form.php",params, function() {}).success(function() {
// Do stuff once email send
});
Комментарии:
1. Выглядит хорошо! Вы случайно не знаете, есть ли аналогичный способ получения данных в PHP? На данный момент мой PHP-файл выглядит так: jsfiddle.net/MrTest/mgxbe
2. Вероятно, вы могли бы выполнить цикл с параметрами запроса, но не будет способа обеспечить порядок параметров в цикле … и выполнение пакетной работы с полученными данными кажется … странным. В любом случае, я не использую PHP, поэтому не могу помочь.
3. Спасибо за время и усилия.
Ответ №3:
Вам не нужно извлекать значения перед их преобразованием в объект данных, просто загрузите их прямо.
$.get("contact-form.php", {
ContactName: $('#contact-name').val(),
ContactEmail: $('#contact-email').val(),
ContactPhone: $('#contact-phone').val(),
ContactMessage: $('#contact-message').val()
}, function() {}).success(function() {
// Do stuff once email send
})
Комментарии:
1. Да, но я не хочу их перечислять — есть ли способ автоматизировать процесс?