Intereting Posts
Как добавить запись радиокнопки в поля MySQL с помощью PHP Lumen – Изменение пути хранения по умолчанию Создание пользовательской страницы в WordPress и добавление к ней контента Показать / скрыть div с jQuery и AJAX не работает должным образом PHP openssl_sign DIES Есть ли у PHP функция обнаружения ОС, на которой она работает? Идентификатор процесса проверки PHP Синтаксис PHP. Булевы операторы, тернарный оператор и JavaScript Неплохо ли использовать пробелы в индексах ассоциативных массивов PHP? PHP: как проверить, содержит ли строка запроса или POST-вары одинаковые переменные дважды Вставьте данные в таблицу базы данных WordPress из пользовательской формы Должен ли я помещать точку с запятой после одного выражения PHP? PHP – сохранить входную переменную для статического повторного использования Php, чтобы заменить @username ссылкой на аккаунт Twitter Проверьте, соответствуют ли строки x%

Поле ввода типа и запрос, переданный PHP с AJAX

Я использую Twitter Bootstrap Typeahead для поля автозаполнения.

Цель конечного состояния: пользователь сначала вводит данные в поле 1. Когда они вводят данные в поле 2, ajax передает запрос, когда он записывается в файл PHP, который запрашивает базу данных на основе того, что также было введено в поле 1.

Как передать и запрос из поля 2, и содержимое поля 1 в файл PHP и получить к ним доступ.

Вот что я имею до сих пор:

HTML FILE :

<div class="field1"> <input type="text" id="field1" data-provide="typeahead" name="field1"> </div> <div class="field2"> <input type="text" id="field2" data-provide="typeahead"> </div> <script src="js/jquery-1.9.1.min.js"></script> <script src="js/bootstrap.js"></script> <script> $(function() { $("#field2").typeahead({ source: function(query, process) { var textVal=$("#field1").val(); $.ajax({ url: 'field2.php', type: 'POST', data: 'query=' + query, dataType: 'JSON', async: true, success: function(data) { process(data); console.log(textVal); } }); } }); }); </script> 

PHP FILE:

 if (isset($_POST['query'])) { $db_server = mysql_connect("localhost", "root", "root"); mysql_select_db("db_test"); $query = $_POST['query']; $other = '**This needs to be field 1**'; $sql = mysql_query("SELECT * FROM table WHERE row1 LIKE '%{$query}%' AND row2 = '$other'"); $array = array(); while ($row = mysql_fetch_assoc($sql)) { $array[] = $row['row1']; } echo json_encode($array);} 

На данный момент часть запроса работает отлично, и результаты возвращаются (консоль также отображает значение из «Field1». Просто нужно получить это значение в файл php одновременно!

Любая помощь будет отличной

    Если бы я понял это правильно, вы хотите проанализировать оба значения полей 1 и 2 на один и тот же вызов AJAX. Так вы это делаете.

     <script> $(function() { $("#field2").typeahead({ source: function(query, process) { var textVal=$("#field1").val(); $.ajax({ url: 'field2.php', type: 'POST', data: 'query=' + query + '&field1=' + textVal, dataType: 'JSON', async: true, success: function(data) { process(data); console.log(textVal); } }); } }); }); </script> 

    Теперь вы просто делаете еще один $ _POST ['field1'] в своем PHP-файле.

     var userQuery = $('#ID of query input element').val(); var field1 = $('#ID of input 1 element').val(); $.ajax({ type: "POST", url: '', data: {query: QueryVariable, input1: input1variable}, success: function(data) { // code within this block }, error: function() { alert('System Error! Please try again.'); }, complete: function() { console.log('completed') } 

    }); // *** END $ .ajax call