【问题标题】:Cannot disable a submit button using jQuery on Contact Form plugin (Wordpress)无法在联系表单插件(Wordpress)上使用 jQuery 禁用提交按钮
【发布时间】:2019-02-11 13:46:11
【问题描述】:

页面使用的是jQuery v1.11.3,我有以下代码:

<script type="text/javascript">
  jQuery(document).ready(function(){
    console.log("Disabling submit button.");
    jQuery("#submitBtn").prop("disabled", true);
  });
</script>

奇怪的是,console.log 运行良好 - 但提交按钮从未收到“禁用”属性。

我什至尝试使用以下方法来确保 ID 正确:

jQuery("#submitBtn").remove();

当我运行该代码时,按钮确实消失了。

考虑可能是老版本的jQuery运行,我也尝试了老的jQuery方法:

jQuery("#submitBtn").attr("disabled", "disabled");

但这似乎也不起作用。

此页面的实时网址是:http://www.advancedpowderproducts.com/get-a-quote/

有人对我在这里缺少什么有任何想法吗?

【问题讨论】:

  • 附带说明,如果您想知道我为什么禁用提交按钮 - 禁用按钮只是第一步。他们想进行一些验证以筛选电子邮件地址。所以我想默认禁用提交按钮,直到输入的电子邮件地址验证。
  • 我在浏览器控制台中运行了您的代码,它正在禁用提交按钮
  • 我 100% 同意代码应该可以工作。我也在codepen中对其进行了测试。但是 - 如果你在检查器中搜索“禁用”,你会看到我的 jQuery 代码在源代码中,并且没有工作,即使它应该是。我说“应该是”有点自信,因为 console.log 代码直接在它工作之前。

标签: jquery wordpress contact-form-7


【解决方案1】:

如果我从控制台运行它,我会看到我得到了你想要的结果。

$('#submitBtn').prop('disabled', true);

因此,可能在执行此行之后呈现按钮。 您可以尝试延迟执行。

setTimeout(function (){
    $('#submitBtn').prop('disabled', true);
}, 1000);

【讨论】:

  • 你完全正确。看起来提交按钮需要一些时间来呈现。超时起到了作用。非常感谢!
【解决方案2】:

我在您提供的实时 URL 的控制台中运行了两个代码 sn-ps,并且都有效。我也检查了检查员。

首先(点击):

jQuery('#submitBtn').click(function(){
    jQuery(this).attr("disabled", "disabled");
});

第二个(加载时):

jQuery("#submitBtn").attr("disabled", "disabled");

【讨论】:

    猜你喜欢
    • 2011-09-29
    • 2011-07-23
    • 2012-11-12
    • 2019-05-14
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多