javascript - 如何强制用户从下拉菜单和按钮中选择一个值以启用保存按钮?

标签 javascript jquery html forms

我想知道如何从表单中为组合框添加监听器?我已经有了单选按钮的监听器代码。我想要的是强制用户在启用提交按钮之前从组合框和单选按钮中进行选择。

下面的脚本用于在选择单选按钮时启用提交按钮。

    EnableSubmit = function (val) {
        var sbmt = document.getElementById("Submit");

        if (val.checked == true) {
            sbmt.disabled = false;
        }
        else {
            sbmt.disabled = true;
        }
    }
</script>

Here is my jsfiddle so far.

问题是,一旦填写了表单中的所有字段,我如何才能为组合框添加一个监听器以启用提交按钮。非常感谢您!

更新

我在脚本中添加了 val.selected!=""。首先尝试这种工作,但是当您更改答案时,提交按钮将被禁用和启用。我猜它不应该是 onclick 但我不确定。有什么想法吗?

Here is the jsfiddle.

更新 2 似乎只有单选按钮启用提交按钮。 T^T

最佳答案

因为我往往是有史以来最懒惰的人(阅读:喜欢高效的人)我倾向于使用 html5 的 form.checkValidity功能,在大多数现代浏览器中似乎可用。如果您计划允许使用低于 IE11、Edge 13、Firefox 46 或 Chrome 50(不包括移动浏览器)的版本,那么这绝对不适合您。

$(document).ready(function() {
  $('#register input,textarea,select').on('change', function() {
    var form = this.form;
    var isValid = form.checkValidity();
    $(':submit').attr('disabled', !isValid);

  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="register">
  <input type="text" placeholder="Hello" required />Click the Radio Button
  <input type="radio" name="something" value="yes" required/>
  <br />
  <select name="something_else" required>
    <option></option>
    <option value="1">One</option>
    <option value="2">TWo</option>
  </select>
  <button type="submit" disabled="true">Submit</button>
</form>

关于javascript - 如何强制用户从下拉菜单和按钮中选择一个值以启用保存按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36973974/

相关文章:

javascript - 将数组的数组转换为键值对的数组

php - 无需管理员登录,通过sql读取数据库

javascript - jQuery 插件自动附加到 li 元素?

javascript - 将嵌套数组转换为具有键值 Javascript 的单个对象

javascript - 当我们使用 json 键作为 JS 代码时会发生什么?

javascript - javascript名称验证的疑问

javascript - 如何防止具有特定属性的 HTML 标记在 Google Chrome 中显示

javascript - 如何获取动画但仍然隐藏ol?

javascript - Cookie 仅适用于 Firefox

html - 没有路由匹配缺少所需的键 : [:id]