2013-12-02 3 views
1

извините за свои плохие навыки в титтинге. Я хочу запустить простую функцию javascript, которая теперь возвращает только эхо с php-страницы. Я связан с функцией, и она переходит к функции, но не завершается. Я не думаю, что у меня что-то очень плохое в коде, но ничего не происходит.JQuery/PHP: функция Javascript не запускается

функция JavaScript:

<script type="text/javascript"> 
    function PopulateBoxes(){ 
     $.post('PopulateBoxes.php', {date: SelectTourForm.lst_MonthDrop.value }, 
      function(output){ 
       $('#txt_Duration').hmtl(output).show(); 
      } 
     ); 
    } 
</script> 

PopulateBoxes.php:

<?php 
    echo "This is a test"; 
?> 

Выпадающее меню:

<form id="SelectTourForm" style="margin:5px;"> 
    <table border="0" align="center" width="100%"> 
     <tr> 
      <td> 
       <label style="color:#FFF; font:Georgia, 'Times New Roman', Times, serif; font-size:20px; margin-left:10px; margin-top:25px">Select Tours Details</label> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <select name="lst_MonthDrop" style="background-color:#FF9933; color:#FFF; border:none; margin-top:10px; margin-left:10px;" onchange="PopulateBoxes();"> 
        <option>Please Select</option> 
        <?php 
        include 'populatedrodown.php'; 
        foreach ($results as $option) : 
        ?> 
         <option value="<?php echo $option->Date; ?>"><?php echo $option->Date; ?></option> 
        <?php endforeach; ?> 
       </select> 
       <input type="submit" name="btn_TourSearch" id="btn_TourSearch" value="Search" style="background:#009300; border-radius:5px; border-color:#009300; color:#FFF;margin-left:5px;" /> 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
     </tr> 
    </table> 
    <p>&nbsp;</p> 
</form> 

Спасибо заранее.

+0

Что показывает консоль firebug/javascript? –

+2

Что такое 'PopulateBoxes', а где' PopulateBoxes' определено? –

+2

html с ошибкой, как hmtl – peterchon

ответ

0

Ваша ошибка: SelectTourForm.lst_MonthDrop.value, используется как есть, JavaScript не распознает его.

Я проверил это для справки и работал: Как lst_MonthDrop имеет только имя, не имея идентификатор, мы получаем его значение по:

$("select[name=lst_MonthDrop]").val() 

Вот тестовая структура:

<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
<script> 
function PopulateBoxes(){ 
$.post('PopulateBoxes.php', 
    {date: $("select[name=lst_MonthDrop]").val()}, 
    function(output){ 
    $('#txt_Duration').html(output).show(); 
    }); 

} 

$(document).ready(function() { 
    // just for test 
    PopulateBoxes(); 

}); 
</script> 
</head> 
<body> 

<div id="txt_Duration"></div> 
<?php 
// your form here... 
?>  

</body> 
</html> 

Я получил этот снимок экрана:

enter image description here

+0

'SelectTourForm.lst_MonthDrop.value' определяется, если у вас есть форма с идентификатором' SelectTourForm', которая содержит элемент управления формой, который имеет идентификатор 'lst_MonthDrop' –

+0

. Необходимо получить его значение ... – jacouh

+0

@Kevin B, i Я обновил свой ответ, который является разумным. – jacouh

0

проблемы:

1:hmtl должен быть html

2:SelectTourForm.lst_MonthDrop.value должно быть $ ("выберите [имя = lst_MonthDrop]") Val()

3:. Там не является элементом с id txt_Duration в вашем показанном html. Создать это.

4:populatedrodown.php, скорее всего, будет ошибочным. Отсутствует письмо p?

+0

Я исправил номер 1, номер 2. Номер 3 создан, но в другой форме на той же странице (надеюсь, что это не повлияло на него), я знаю, что я ошибся, но я удостоверился, что это было правильное правописание во всем мире путем копирования и вставить. – Seatter

+0

@Seatter Вы уверены, что используете jquery в своем ''? '' –

+0

Совет. Всегда используйте инспектор элементов браузера и вкладку «Net» чтобы увидеть, какие данные отправляются и принимаются. –

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