【问题标题】:Trouble disabling/enabling multiple submit buttons on same form无法在同一表单上禁用/启用多个提交按钮
【发布时间】:2014-04-19 06:02:24
【问题描述】:

我已经构建了一个多步骤表单,其中每个步骤都有提交按钮。前 2 个提交按钮仅显示表单的下一部分,最后一个提交数据。

我想禁用每个提交按钮,直到填写输入字段,但是,它不起作用。这是我所拥有的:

<form>
<fieldset>
    <input id="Email" type="email"  value="" >          
    <input id="Password" type="password" />
    <input id="confirmPass" type="password" />
    <input id="emailPassSubmit" type="submit" name="next" class="next action-button" value="Next" disabled="disabled" />
</fieldset>
</form>

<script type='text/javascript'>
$(function(){
 $('#Email, #Password, #confirmPass').onkeyup(function(){
      if ($(this).val() == '') {
           $('#emailPassSubmit').prop('disabled', true);
      } else {
           $('#emailPassSubmit').prop('disabled', false);
      }
 });
});
</script>

这是表单的第一页,并在其他 2 个步骤中重复相同的步骤。截至目前,它禁用了按钮但没有启用它。

【问题讨论】:

  • 使用 keyup() 代替 onkeyup() 并检查您获得的值,但您可以使用 $('#emailPassSubmit').prop('disabled', $(this).val( ) == '');我认为你应该使用 change() 事件
  • 您要禁用直到所有字段都填满?
  • 这是你想要的吗? fiddle.jshell.net/yyH9A
  • 感谢您的回复,这是 onkeyup() 的问题。

标签: jquery forms disabled-input


【解决方案1】:

试试这个:

$('#Email, #Password, #confirmPass').keyup(function(){

}

因为 jquery 中没有 onkeyup 这样的方法,所以只有 keyup 可用。

如果有帮助别忘了采纳

【讨论】:

    【解决方案2】:

    为您的表单提供 ID,然后使用 jquery post 通过 $("#FormID").submit() 并使用 jquery validate 完成验证,我希望这对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2011-07-23
      • 2012-01-23
      相关资源
      最近更新 更多