jquery的ajax()提交表单,点击后禁用提交按钮和提交成功跳转到另一页面,这两个代码写到什么位置?
<script>
$.ajax({
type: "POST",
url: "{{ url('/article/') }}",
dataType: 'json',
processData: false,
contentType: false,
cache: false,
data: formData
})
.done(function () {
alert('提交成功');
})
.fail(function () {
alert('服务器错误');
});
</script>
一般的网站按钮点击后该按钮就会立即disable以防止用户连续点击导致的多次提交,代码如下:
<script>
// 定义提交按钮btn
var btn = $("...");
/**
* 绑定btn按钮的监听事件
*/
var bindBtn = function(){
btn.click(function(){
// 需要先禁用按钮(为防止用户重复点击)
btn.unbind('click');
$.ajax({
// ...
})
.done(function () {
alert('提交成功');
//成功,跳转
})
.fail(function () {
//失败,弹窗
alert('服务器错误');
// ** 重要:因为提交失败,所以要恢复提交按钮的监听 **
bindBtn();
});
})
}
</script>
禁用提交按钮写在你点击按钮事件里面,解除禁用写在always里面,跳转写在done里面
都写在done里
<script>
$('按钮ID或者其他').click(function(){
$.ajax({
type: "POST",
url: "{{ url('/article/') }}",
dataType: 'json',
processData: false,
contentType: false,
cache: false,
data: formData
})
.done(function () {
alert('提交成功');
//禁用提交按钮的代码
location.href="要跳转的URL地址";
})
.fail(function () {
alert('服务器错误');
});
})
</script>