Jquery 单击提交按钮';我不总是工作
我有一个带有文本框和提交按钮的表单Jquery 单击提交按钮';我不总是工作,jquery,html,forms,click,submit-button,Jquery,Html,Forms,Click,Submit Button,我有一个带有文本框和提交按钮的表单 <div style="float:left; padding:20px;"> <form id="crate_input" method="get"> Create new crate: <input type="text" id="create"> <input id="subbutton" type="submit" value="Submit"> </form> <sel
<div style="float:left; padding:20px;">
<form id="crate_input" method="get">
Create new crate: <input type="text" id="create">
<input id="subbutton" type="submit" value="Submit">
</form>
<select id="crates">
<option id="choose" value="choose" selected>Choose a crate</option>
<option id="default_crate" value="default_crate">default_crate</option>
</select>
</div>
但问题是,当我键入一个板条箱的名称并按下提交按钮时,它有时不会创建板条箱。它似乎刷新了页面,但还没有创建新的板条箱。有人知道这里出了什么问题吗?问题是您没有停止默认表单提交
$('#crate_input').submit(function(){ return false; });
应该可以解决您的问题。您不会阻止表单的正常提交,因此在
ajax
调用返回之前会重新加载页面:
$('#subbutton').click(function(event) {
$.ajax({
...
});
return false;
});
另外,从ajax
success
处理程序返回也是毫无意义的,因为
1. - 按钮点击完成后执行良好
2. - 调用此处理程序的代码不需要任何返回值。如果不知道“ajax/bagit_handler.php”的响应,将很难回答此问题。然而,我注意到以下几点
您似乎在服务器上创建了一个板条箱,但您使用的是HTTP GET。不建议对影响服务器状态的操作使用GET
响应数据类型以text/html形式给出。将响应HTML与$(this).attr(id)进行比较,我什么都不懂。
在该上下文中,这是指AJAX处理程序。
我不知道你到底想做什么
最好在$('cratet_input').submit()上执行表单处理,而不是$('subbutton')。单击()
如果可能,请添加一个JSFIDLE来说明您正在做什么。是的。这就是原因。我从没想过。谢谢非常感谢您提供的信息丰富的答案!这也解决了问题!
$('#subbutton').click(function(event) {
$.ajax({
...
});
return false;
});