Javascript jquerysubmit不能与我的ajax调用一起使用
好吧,我遇到了一个我无法理解的非常棘手的问题。我得到了这段jquery代码: HTML代码Javascript jquerysubmit不能与我的ajax调用一起使用,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,好吧,我遇到了一个我无法理解的非常棘手的问题。我得到了这段jquery代码: HTML代码 <form> <input type="text" value="Search for a product" id="name" size="50"> <input type="submit" id="submit" value="Search"> </form> 顺便说一句,#loader只是在ajax调用期间显示的加载gif 很简单,当我点击i
<form>
<input type="text" value="Search for a product" id="name" size="50">
<input type="submit" id="submit" value="Search">
</form>
顺便说一句,#loader只是在ajax调用期间显示的加载gif
很简单,当我点击id为“submit”的按钮时,它会从id为“name”的文本字段中发送一个字符串,并在单词之间有空格的地方添加一个+,然后将字符串发送到页面APIsearch.php,在那里我得到一些东西,然后加载到“contetn”div中。现在的问题是,当我添加“form”时“输入”字段周围的元素我的ajaxt不会返回任何内容,我需要一个表单,因为我想开始使用。改为提交,这样我就可以使用enter按钮作为提交文本的选择。为什么只有当我删除像这样的“form”元素时它才起作用
<input type="text" value="Search for a product" id="name" size="50">
<input type="submit" id="submit" value="Search">
当您提交表单时,整个页面都会被提交,在服务器上,您需要以html格式回复。您不能像前面提到的那样只更新div 但是,您显示的表单元素没有指定“action”。这表示您希望使用Ajax从服务器获取信息。对于Ajax响应,您可以编程“enter”键使其工作:
$("#name").keyup(function(event){
if(event.keyCode == 13){
$("#submit").click();
}
});
您需要将这一行添加到#submit click方法的顶部
event.preventDefault();
否则表单将提交,刷新页面,而不是执行ajax调用
但是请记住,按enter键不会激活提交按钮的
单击事件。要做到这一点,您必须创建自己的按键处理程序来激活您的点击代码。live已被弃用,您应该在上使用。此外,表单标记还需要一些参数。另外,您的控制台是否在其xml响应中抛出任何错误或显示任何php错误?每次用户单击submit按钮时调用ajaxStart和ajaxStop函数是不必要的。您只需要在代码中设置一次,它们将是页面上任何ajax调用的默认值代码>行应该在DocumentReady函数中,因为您需要确保loader元素已准备就绪,然后才能隐藏它。
event.preventDefault();