Javascript 根据已检查的无线电状态禁用“提交”按钮

Javascript 根据已检查的无线电状态禁用“提交”按钮,javascript,jquery,forms,coffeescript,disabled-input,Javascript,Jquery,Forms,Coffeescript,Disabled Input,所以我已经做了一些关于正确方法的研究,但是我不断地得到这个错误,我似乎无法回避 我有一个简单的表单在我的页面上呈现了一定的次数,基于数据库中的模型(例如,我可以在页面上呈现2个表单或8个表单) 我现在正在尝试的是 $(document).ready -> elements = $('input:submit') elements.each (el) -> elements[el].disabled = true $(window).click -&

所以我已经做了一些关于正确方法的研究,但是我不断地得到这个错误,我似乎无法回避

我有一个简单的表单在我的页面上呈现了一定的次数,基于数据库中的模型(例如,我可以在页面上呈现2个表单或8个表单)

我现在正在尝试的是

$(document).ready ->
  elements = $('input:submit')
    elements.each (el) ->
      elements[el].disabled = true
      $(window).click ->
        if $(elements[el]).siblings('input:checked').length > 0
          elements[el].disabled = false
单击单选按钮时,此代码将正确启用该按钮。但是单选按钮不会激活/响应单击。当我尝试提交表单时,它告诉我没有选择任何输入

我也试过了

$(document).ready ->
  elements = $('input:submit')
    elements.each (el) ->
      elements[el].disabled = true
      $(window).click ->
        if $(elements[el]).siblings('input:checked').length > 0
          $(elements[el].removeAttr('disabled')
另一方面,此代码允许我检查单选按钮,但不启用提交按钮

我想也许jQuery将我的原始代码识别为禁用
if$(elements[el])。同胞('input:checked')。length>0
查询中所有元素的请求,因此我尝试创建两个单独的块—一个用于最初禁用提交按钮,另一个用于处理单击。但是没有运气


有什么想法吗?

除了一些表示之外,你能发布一些正确的代码吗?你想看看表单吗?如果你在表单提交脚本中共享html,这会很有帮助。