好吧,所以我遇到了一个我无法理解的非常奇怪的问题。我得到了这段 jquery 代码:
代码
<form>
<input type="text" value="Search for a product" id="name" size="50">
<input type="submit" id="submit" value="Search">
</form>
JAVASCRIPT代码
$("#loader").hide();
$(document).ready(function() {
$('#submit').live('click', function(event){
$("#loader").ajaxStart(function(){
$(this).show();
});
$("#loader").ajaxStop(function(){
$(this).hide();
});
$('.product').remove();
var query = $("#name").val();
var searchQuery = query.replace(/ /g,"+");
$.get("APIsearch.php", {keyword: searchQuery}, function(data){
$("#content").html(data);
});
});
});
顺便说一句,#loader 只是在 ajax 调用期间显示的加载 gif。
它很简单,当我单击 id 为“submit”的按钮时,它会从 id 为“name”的文本字段发送一个字符串,并在单词之间有空格的地方放置一个 +,然后将字符串发送到页面 APIsearch.php在那里我得到一些东西,然后加载到“contetn”div中。现在的问题是,当我在“输入”字段周围添加“表单”元素时,我的 ajaxt 不会返回任何内容,我需要有一个表单,因为我想开始使用 .submit ,所以我可以使用输入按钮作为选择提交文本。为什么它只在我删除这样的“表单”元素时才起作用?
<input type="text" value="Search for a product" id="name" size="50">
<input type="submit" id="submit" value="Search">