2010-03-09 187 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