2017-02-19 7 views
2

Я пытаюсь получить значение из выбранной опции и опубликовать на Php. Но у меня также есть форма для публикации данных. Я пытаюсь объединить эти два, но теперь, когда я пытаюсь запустить код, я получаю пустую страницу запроса.Попытка получить значение из опции в выбранном теге с помощью jQuery и отправить на страницу php

message.php

<form id="messageEmployeeForm" class="form table-striped" method="POST" action="core/query.php"> 

<select id='toEmployee' class='form-control formBlock' name='toEmployee_id' value='' type='text' class='form-control formBlock'> 
        <option value="">To...</option> 
         <?php 
     $employeesQuery = $db->query("SELECT * FROM employees"); 
     while ($employee = mysqli_fetch_assoc($employeesQuery)) { 
      ?> 
     <option id='toEmployees_id' name='toEmployees_id' value="<?php echo $employee['employee_id'] ;?>"> 

    <?php echo $employee['first_name'] ;?> <?php echo $employee['last_name'] ;?></option> 
    <?php } ;?> 
    </select> 


//other inputs here... 

     <input name="sendMessage" id="submit" type="submit" class="formBlock btn btn-success" value="Send Message"/> 
    </form> 

JQuery

<script>  

    $(document).ready(function() { 
      $("#toEmployee").bind("change", function (e) { 
       $.ajax({ 
        type: "POST", 
        data: { data: $("#toEmployee").val() } 
       }); 
      }); 
     }); 
</script> 

query.php

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['sendMessage']) && isset($_POST['data'])){ 
$var = $_POST['data']; 
//other data to be posted and bind here using prepared statements... 

] 
+0

Может быть, попробовать '$ ("# toEmployee вариант: выбран") Вал()' это потребуется. значение выбора 'select' –

ответ

0

Ваш query.php Файл ожидает наличия двух почтовых ключей во время запроса, без них он не будет запускать внутренний код.

isset($_POST['sendMessage']) && isset($_POST['data']) 

Поэтому внутри JQuery, вам необходимо дополнительно послать ключ sendMessage следующим образом:

$.ajax({ 
    type: "POST", 
    data: { 
     data: $("#toEmployee").val(), 
     sendMessage: 'your value' 
    }, 
    success: function(data) { 
     // do something with output (data) 
    } 
}); 
+0

Спасибо. Я забыл об этом. Имеют смысл, но все же, когда я нажимаю «submit», query.php возвращает пустое. Обновление кода: '$ (document) .ready (function() { $ (" # toEmployee "). Bind (" change ", function (e) { $ .ajax ({ Тип:" POST ", данные : { данные: $ ("# toEmployee") вал(), SendMessage:.. $ ("# отправить") вал() }; }); }); }); ' – rge90

+0

You необходимо добавить функцию «Успех» к вашему запросу AJAX, см. обновленный ответ. – KDOT

+0

UPDATE: '$ (document) .ready (function() { $ (" # toEmployee "). Bind (" change ", function (e) { $ .ajax ({ Тип:" POST ", данные : { данные:. $ ("# toEmployee") вал(), SendMessage: $ ("# отправить") знач() .}, успех: функция (данные) { если (данные = == TRUE) { JQuery ('# successp') CSS ("дисплей", "блок") .}; } }); }); }); ' – rge90

 Смежные вопросы

  • Нет связанных вопросов^_^