1 (изменено: S3Ga, 2013-04-06 14:22:08)

Тема: Отправка формы ajax'ом

Есть скрипт отправки инпута

          $(function() {

                $('#but').click(function(){
                var search = $('#search').val();
                if(search){
                         $.ajax({
                            type: "POST",
                            url: "search.php",
                            data: 'search=' + search,                        
                            success: function(response){
                                        $('#content').html(response);
                                     }
                         });
                }
            });
            });

И форма

<form id ="form" action="search.php" method="post"  onsubmit="return false;">
<input type="text" name="search_name" size="45" value="" id="search">
<button class="but" id="but">Поиск</button>
</form>

Как мне изменить  строчки в скрипте

var search = $('#search').val(); 
 data: 'search=' + search,

    чтобы отправлялись все данные формы следующего содержания:

<form id ="form" action="search.php" method="post"  onsubmit="return false;">
<input type="text" name="search_name" size="45" value="" id="search">
<input type="date" name="date1" size="60" value="" id="date1">
<input type="date" name="date2" size="60" value="" id="date2">
......
<button class="but" id="but">Поиск</button>
<form>

2

Re: Отправка формы ajax'ом

Добавьте строку в параметр data.

data: 'search=' + search + '&date1=' + $('#date1').val(),

3

Re: Отправка формы ajax'ом

Hanut сказал:

Добавьте строку в параметр data.

data: 'search=' + search + '&date1=' + $('#date1').val(),

Спасибо,но такая идея уже была, проблема в том что инпутов будет очень много, вот я и хотел узнать возможно ли отправить по id инфу с формы?

4

Re: Отправка формы ajax'ом

S3Ga сказал:

возможно ли отправить по id инфу с формы?

Создайте строку динамически. Посмотрите что выдает $('#form input') , возможно это то, что вам поможет.

5

Re: Отправка формы ajax'ом

решил проблему

$(function() {
                $('#but').click(function(){
                         $.ajax({
                            type: "POST",
                            url: "test3.php",
                            data: $('#form_search').serialize(),                        
                            success: function(response){
                                        $('#content').html(response);
                                     }
                         });
            });
            });

Теперь только не знаю как сделать проверку,на заполненность хотя бы одного поля

6

Re: Отправка формы ajax'ом

S3Ga сказал:

Теперь только не знаю как сделать проверку,на заполненность хотя бы одного поля

Проверку на стороне клиента? Сделайте проверку перед выполнением $.ajax, соответственно поставив условие.

if ($('#id').val().length > 0) {
  $.ajax(...);
} else {
  alert('Поле не заполнено');
}

7

Re: Отправка формы ajax'ом

         $(function() {
                $('#but_search').click(function(){
                    if ($('#form_search').val().length > 0) {
                         $.ajax({
                            type: "POST",
                            url: "test3.php",
                            data: $('#form_search').serialize(),                        
                            success: function(response){
                                        $('#content').html(response);
                                     }
                         });
                    }else {alert('Заполните хотя бы одно поле')}
            });
            });

Что -то не фурычит,

8

Re: Отправка формы ajax'ом

Что такое $('#form_search') ? У вас там должно быть какое-то поле, как я понял.

9 (изменено: S3Ga, 2013-04-09 11:50:19)

Re: Отправка формы ajax'ом

Hanut сказал:

Что такое $('#form_search') ? У вас там должно быть какое-то поле, как я понял.

<form id ="form_search" method="post">
<br>Наименование продукта<input type="text" name="search_name" size="45" value="" id="search"> 
<br>Дата покупки
<br>Начиная <input type="date" name="date1" size="60" value="">
Заканчивая <input type="date" name="date2" size="60" value="">
<br>Фирма разработчик<input type="text" name="developer_company" size="45" value="">
<br>Подразделение<input type="text" name="unit" size="45" value="">
<br>ФИО заказчика<input type="text" name="fio zakaz" size="45" value="">
<br>ФИО ответственного<input type="text" name="fio otvet" size="45" value="">
<br><input type ="button" id="but_search" value="Поиск">
<input type="reset" name="reset" value="Очистить">
</form>

10

Re: Отправка формы ajax'ом

Идентификатор поля date1. Какое поле надо проверить, идентификатор такого и укажите.

11

Re: Отправка формы ajax'ом

Дело в том,что проверить надо все поля, на заполненность хотя бы одного

12

Re: Отправка формы ajax'ом

$('#form_search input') вернет все поля, пробегитесь по ним в цикле.