Intereting Posts
порядок строк при вставке многострочных строк в MySQL Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean given Как получить доступ к переменной защиты в классе Laravel как получить противоположные результаты по запросу Laravel Использование API Google+ для PHP – необходимо получить адрес электронной почты пользователей Загрузка больших файлов на S3 с поддержкой резюме Мой скрипт PayPal неожиданно прекратил проверку SSL-сертификата Неустранимая ошибка: использование $ this, если не в объектном контексте Более быстрый веб-сайт, объединяя файлы CSS в одном файле – Laravel Установка переменной в оператор, выполняющий ее Laravel получить заголовки запроса Лучший способ защитить частный REST API без аутентификации пользователя для мобильного приложения Как выбрать наименьшее значение из нескольких столбцов с помощью PHP Yii – повторить последний запрос Cookies CakePHP не сохраняются после закрытия браузера

предотвратить перезагрузку страницы и вызвать функцию jquery при нажатии кнопки отправки

Содержимое тега формы: –

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>" > 

Содержимое тега кнопки: –

 <input type="submit" id="submit_button" value="Submit"> 

Функции j-запроса

 $('#submit_button').click(function () { alert("button clicked"); buildingVal = $("#building").val(); levelVal = $("#level").val(); data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); $.ajax( { url: "res.php", type: "POST", data: data, success: function (data) { } }); return false; }); 

Страница перезагружается, а данные в текстовых и выпадающих меню исчезают.

но если у меня есть только этот код в jquery: –

 $('#submit_button').click(function () { alert("button clicked"); return false; }); 

то страница не перезагружается, и значения остаются неизменными.

Пожалуйста, не могли бы вы рассказать мне, как я могу предотвратить перезагрузку страницы?

Также в вызове ajax я буду вызывать страницу res.php, которая вернет таблицу,

Каким будет код в

 success: function (data) { } 

пожалуйста помоги…

Редактировать:

Я передаю данные на страницу res.php с кодом

 data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); 

а затем передать его на страницу, используя

 $.ajax( { url: "res.php", type: "POST", data: data, success: function (data) { $('#npc').html(data); } }); 

на странице res.php

как извлечь два значения из одного значения, которое было передано

я попытался использовать следующий код

 $building = mysql_real_escape_string($_GET['building']); $level = mysql_real_escape_string($_GET['level']); 

Но это не работает …

    У вас есть ошибка в коде jQuery:

    Ошибка:

     buildingVal = $("#building").val(); levelVal = $("#level").val(); data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); 

    Решение:

     buildingVal = $("#building"); levelVal = $("#level"); data = 'building=' + buildingVal.val() + '&level=' + levelVal.val(); 

    Полный код js:

     $('#submit_button').click(function () { var buildingVal = $("#building"), levelVal = $("#level"), data = 'building=' + buildingVal.val() + '&level=' + levelVal.val(); $.ajax({ 'url': 'res.php', 'type': 'POST', 'data': data, 'success': function (data) { } }); return false; }); 

    редактировать

    Если вы когда-либо собираетесь использовать эту форму для отправки данных по ajax, лучший способ – отменить событие «отправить» форму:

    HTML:

     <form id="myform" method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>" > ... </form> 

    JS:

     $('#myform').bind('submit', function(event) { return false; }); $('#submit_button').bind('click', function () { var buildingVal = $("#building"), levelVal = $("#level"), data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); $.ajax({ 'url': 'res.php', 'type': 'POST', 'data': data, 'success': function (data) { } }); }); 

    Лучший способ – не использовать кнопку submit в первую очередь.

     <input type="button" id="myButton" value="Submit"> $('#myButton').on('click', function(){ //do ajax }); 

    Вам необходимо предотвратить поведение по умолчанию в событии click:

     $('#submit_button').click(function (event) { event.preventDefault(); alert("button clicked"); return false; // Not truly necerssary }); 

    http://api.jquery.com/event.preventDefault/

    Поэтому, чтобы кнопка отправки не отправляла вашу страницу со своим поведением по умолчанию, выполните следующие действия:

     $('#submit_button').click(function (event) { event.preventDefault(); buildingVal = $("#building").val(); levelVal = $("#level").val(); data = 'building=' + buildingVal.val() + 'level=' + levelVal.val(); $.ajax( { url: "res.php", type: "POST", data: data, success: function (data) { } }); });