【发布时间】:2019-03-03 16:14:29
【问题描述】:
需要一个 disable 或 hide 在验证后提交按钮的脚本,并 100% 提交 ajax 的表单。
当前代码:
<script>
function AjaxFormRequest(result_id,formUkrposhta,url) {
jQuery.ajax({
url:url,
type:"POST",
dataType:"html",
data:jQuery("#"+formUkrposhta).serialize(),
beforeSend: function() {
$("#messegeUkrResult").html('<span class="wbsn-padding-0">Секунду пожалуйста ...</span>');
$("#send").prop('disabled', true); // disable button
},
success:function(response) {
$("#send").prop('disabled', false); // enable button
document.getElementById(result_id).innerHTML = response;
},
error: function(response) {
document.getElementById(result_id).innerHTML = '<p class="wbsn-font-futuranew wbsn-font-20 wbsn-text-deep-orange" style="text-sahdow:0 2px 1px #fff;">Возникла ошибка при заказе. Попробуйте еще раз.</p>';
}
});
$(':input', '#formUkrposhta')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
}
</script>
但是什么也没发生!在success 发送之后按钮不是disabled。甚至更多...需要submit 按钮在 100% success 发送和通过 php 脚本处理后隐藏(而不是在错误或其他错误之后)...对不起我的英语不好,非常感谢大家。让力量与你同在!
【问题讨论】:
-
看起来您在启动 ajax 时禁用了该按钮,并在返回时启用它。响应是否被放入元素中?这是一个简单的例子,它发生得如此之快以至于你看不到它?如果需要,您可以使用 Chrome 引入延迟。
-
任何控制台错误?
-
您可以使用 onclick() 代替 onsubmit()。我认为您的问题将通过 onclick() 解决
-
@mahdikhodabandello...你的例子不感兴趣,因为它被禁用,即使表单有错误
-
@Twisty...一切正常...没有错误..
标签: javascript jquery ajax forms ecmascript-6