【发布时间】:2016-09-06 17:24:20
【问题描述】:
我已经尝试了各种正常工作的方法,但 SmartWizard 似乎阻止了这些方法工作。
我需要禁用完成按钮并在单击后更改文本以防止多次提交。不管我把代码放在哪里,画面不变,按钮的值不变,按钮也没有禁用。
我尝试了典型的点击功能...
$(".actionBar .buttonFinish").click(function(){
$(".actionBar .buttonFinish").addClass("buttonDisabled");
$(".actionBar .buttonFinish").text("Sending...");
});
我还尝试将其用作最后一步验证的一部分,并在 ajax 调用之前的 FinishCallback 中使用。在 ajax 调用完成并且 ajax 成功运行之后,没有任何变化。
更新
好的,这肯定是时间问题。如果我导致 ajax 调用失败,按钮会禁用并且文本会更改。在继续进行 ajax 调用之前,我需要确保这两件事发生。到目前为止,我尝试了这个,但没有成功:
$(".actionBar .buttonFinish").addClass("buttonDisabled").text("Sending...").ajax({
【问题讨论】:
-
您是否尝试过向事物添加日志记录,以确保点击处理程序正在触发?
-
尝试使用 jQuery 的
prop函数将disabled属性设置为true:$(".actionBar .buttonFinish").prop( 'disabled', true );假设它是<button>/<input>元素。 -
试试 $(".actionBar .buttonFinish").off('click')
-
使用.one()
-
为您提供按钮完成的html
标签: javascript jquery ajax smart-wizard