2010-03-09 222 views
1

下面的代碼不提交輸入值:AJAX表單提交

$('.button').live('click', function() { 
     var date = $('#date', this).val(); 
     var guests = $('#guests', this).val(); 

     $('.resLoad').load('/confirmation.php?guests='+guests+'&date='+date); 
}); 

它加載的頁面在適當的DIV,但變量被列爲不確定的。

<form class="resConf" action="" method="get"> 
    <input type="text" name="date" id="date" class="eventname" readonly="readonly" value="1234" /><br class="big" /> 
    <input type="text" class="eventguest" id="guests" maxlength="2" name="guests" value="" /><br class="big" /> 
    <input type="button" class="button" value="submit" name="submit" /> 

</form> 

回答

4
$('#date', this) 

正在搜索與日期的ID的元素,即該按鈕的後代;這是不正確的。

$('.button').live('click', function() { 
     var date = $('#date').val(); 
     var guests = $('#guests').val(); 

     $('.resLoad').load('/confirmation.php?guests='+guests+'&date='+date); 
}); 

將工作。

+1

當使用jQuery構造函數$()時,如果要將結果限制爲該元素的後代,則只傳遞第二個參數。 – Finbarr 2010-03-10 00:05:40