如果选中单选按钮,则停止表单提交

Posted

技术标签:

【中文标题】如果选中单选按钮,则停止表单提交【英文标题】:Stop form submission if radio button is checked 【发布时间】:2017-10-10 18:12:37 【问题描述】:

我在 FormAssembly 上有一个表单,如果有人为“你是雇主吗?”这个问题选择了“否”单选按钮,我想阻止他们提交该表单。我已经把我目前拥有的东西放在了jsfiddle。

JS:

$(document).ready(function() 
 $('input#tfa_1904').click(function() 
  if ($('#tfa_1904').is(':checked') 
    submitButton.disabled = true;
  
  else 
    submitButton.disabled = false;
  
 );
);

提交按钮代码:

document.addEventListener("DOMContentLoaded", function() 
  var warning = document.getElementById("javascript-warning");
  if (warning != null) 
    warning.parentNode.removeChild(warning);
  
  var oldRecaptchaCheck = parseInt('0');
  if (oldRecaptchaCheck !== -1) 
    var explanation = document.getElementById('disabled-explanation');
    var submitButton = document.getElementById('submit_button');
    if (submitButton != null) 
      submitButton.disabled = true;
        if (explanation != null) 
          explanation.style.display = 'block';
        
    
  
);

【问题讨论】:

什么是submitButton?您可以发布该选择器的代码吗?... 我已经编辑了帖子! :) 【参考方案1】:

在您的情况下,您不需要检查单选按钮是否被选中,因为一次只会检查一个。因此,只需捕获点击就足够了。

$(document).ready(function() 
    $('input#tfa_1904').click(function() 
        $('#submit_button').prop('disabled', true);
    );

    $('input#tfa_1903').click(function() 
        $('#submit_button').prop('disabled', false);
    );
);

更新的小提琴: https://jsfiddle.net/h5r8gud1/8/

【讨论】:

太好了,这正是我想要的!谢谢!我已将 js 添加到我的网站(Wordpress),但它不再工作。我在网站上确实有 2 个其他表单,在其他页面上,所以我假设我也必须定位页面以及 js 中的表单?还有两个地方我可以添加 js,从 FormAssembly 或 Wordpress 中 - 你知道哪个最好添加吗?我还使用简码在网站上发布了表单,不幸的是我无法将其更改为 iframe。谢谢你:) 表单上还有一个验证码,在完成之前,它还会禁用提交按钮 - 认为值得一提,以防它以某种方式覆盖新的 js。

以上是关于如果选中单选按钮,则停止表单提交的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5 simple_form 将单选按钮标记为必需,如果未填写则阻止提交表单

jQuery,阻止表单提交,然后继续

jQuery多行表单:禁用提交,直到每行都选中了一个单选

php中按钮怎么提交数据到数据库中?

PHP 单选按钮 - 出错后保留表单中的值

在jQuery中,让表单当中的radio按钮默认选中第一个怎么做?