Intereting Posts
PHP Простой HTML DOM Parser Dies PHP Передача по исходной ошибке после использования того же var Как заставить задачу «symfony doctrine: build-sql» генерировать записи «DROP»? Как подготовить существующую базу данных для поиска местоположения? Как отправить электронную почту с локального сервера WAMP для отправки электронной почты Gmail Hotmail или так далее? Уровень изоляции для одного запроса SELECT с помощью PHP mysqli_query Zend_Gdata_Photos перечисляет все альбомы и фотографии PHP читает подкаталоги и просматривает файлы как? получить массив строк с результатом mysqli Должен ли я помещать точку с запятой после одного выражения PHP? str_replace только в определенных тегах html Как бы я исказил изображение с помощью библиотеки GD? PHP – вложенный список, разбитый на четные столбцы (исправление и обновления) как сделать валидацию с помощью ajax Laravel 5.3 Запрос Mysql в Mysqli и Подготовить заявление

jQuery submit ajax form с двумя кнопками отправки

im пытается достичь следующего, в php у меня есть такая форма:

<form method="post" id="form_1" action="php.php"> <input type="submit" value="add" name="sub"/> <input type="submit" value="envoi" name="sub"/> </form> 

файл действия формы:

 <?php if( $_POST["sub"]=="add"){ ?> <script> alert("") </script> <?php echo "ZZZZZZ"; ?> <?php } ?> 

так что это означает, что если я нажимаю кнопку со значением, добавьте подсказку оповещения, как я могу сделать то же самое (различать как отправку), но используя запрос Ajax:

следующий код так не работает:

  $(function(){ $('form#form_1').submit(function(){ var _data= $(this).serialize() $.ajax({ type: 'POST', url: "php.php?", data:_data, success: function(html){ $('div#1').html(html) } }) }) }) </script> </head> <body> <div id="1" style="width: 100px;height: 100px;border: 1px solid red"></div> <form method="post" id="form_1" action="javascript:;"> <input type="submit" value="add" name="sub"/> <input type="submit" value="envoi" name="sub"/> </form> </body> 

Related of "jQuery submit ajax form с двумя кнопками отправки"

Вы можете поместить обработчик событий на кнопки, а не на форму. Получите параметры из формы, а затем добавьте параметр для кнопки и отправьте форму. Убедитесь, что обработчик возвращает «false».

 $(function() { $('input[name=sub]').click(function(){ var _data= $('#form_1').serialize() + '&sub=' + $(this).val(); $.ajax({ type: 'POST', url: "php.php?", data:_data, success: function(html){ $('div#1').html(html); } }); return false; }); }); 

Вы должны явно добавить параметр «sub», потому что jQuery не включает те, которые вы вызываете «serialize ()».

В этом случае вам нужно вручную добавить кнопку отправки к опубликованным данным, например:

 $(function(){ $('form#form_1 :submit').submit(function(){ var _data = $(this).closest('form').serializeArray(); //serialize form _data.push({ name : this.name, value: this.value }); //add this name/value _data = $.param(_data); //convert to string $.ajax({ type: 'POST', url: "php.php?", data: _data, success: function(html){ $('div#1').html(html); } }); return false; //prevent default submit }); }); 

Мы используем .serializeArray() чтобы получить сериализованную версию формы ( это то, что использует .serialize() внутри ), добавляя нашу пару имя / значение к этому массиву, прежде чем он будет сериализован в строку через $.param() ,

Последнее добавление – это return false чтобы предотвратить поведение отправки по умолчанию, которое оставило бы страницу.

Много точек с запятой отсутствует, см. Ниже

  $(function(){ $('form#form_1').submit(function(){ var _data= $(this).serialize(); $.ajax({ type: 'POST', url: "php.php?", data:_data, success: function(html){ $('div#1').html(html); } }); }); }); 

Плагин jQuery Form предоставляет некоторые дополнительные функции, и он автоматизировал некоторые задачи, которые мы должны делать вручную, пожалуйста, взгляните на него. Также он обеспечивает лучший способ обработки элементов формы, сериализации, и вы можете подключить функции предварительной обработки перед отправкой формы.