JavaScript - 如果函数值为真,则启用提交按钮

JavaScript - Enable submit button if function's value is true

我只想在函数 func() 返回 true 时启用提交按钮,但我不知道如何从调用 onblur 事件的函数中获取值。除了 JavaScript,我不能使用任何东西。有人可以帮忙吗?

代码如下:

<script>

    function func(obj){
        if(obj.value.length > 4){
            alert("Longer than 4.");
            return false;
        } else if (obj.value.length < 2){
            alert("Shorter than 2.");
            return false;
        } else {
            return true;
        }
    }

</script>

<form method="" action="">

        <input type="text" name="text" id="text" onblur="func(this)"><br>
        <input type="submit" name="submit" value="Submit" disabled>

</form>

您可以使用 disabled 属性 按钮元素。满足条件就设置为false。

如果 disabled 属性 值为真,则禁用按钮,否则启用。

function func(obj) {
  if (obj.value.length > 4) {
    alert("Longer than 4.");
  } else if (obj.value.length < 2) {
    alert("Shorter than 2.");
  } else {
    document.getElementById("submitButton").disabled = false; // Set to false for enable button
  }
}
<form method="" action="">

  <input type="text" name="text" id="text" onblur="func(this)">
  <br>
  <input type="submit" name="submit" id="submitButton" value="Submit" disabled>

</form>

子注释:

func 函数实际上没有对可以减少的 return 值做任何事情。

    function func(obj) {
        if (obj.value.length > 4) {
            alert("Longer than 4.");
            return false;
        } else if (obj.value.length < 2) {
            alert("Shorter than 2.");
            return false;
        } else {
            document.getElementById("submitButton").removeAttribute("disabled");
            return true;
        }
    }

根据您提供的条件设置一个变量(下面代码中的"disabled"),然后将您的提交输入(我添加了一个 id)的禁用状态设置为该变量。

<script>

    function func(obj) {
        var disabled = true;
        if(obj.value.length > 4) {
            alert("Longer than 4.");
        } else if (obj.value.length < 2) {
            alert("Shorter than 2.");
        } else {
            disabled = false;
        }
        document.getElementById("subInp").disabled = disabled;
        return disabled;
    }

</script>

<form method="" action="">

        <input type="text" name="text" id="text" onblur="func(this)"><br>
        <input id="subInp" type="submit" name="submit" value="Submit" disabled>

</form>

试一试

        function func(obj) {
            if (obj.value.length > 4) {
                alert("Longer than 4.");
                document.getElementById("submit").disabled = true;
                return false;
            } else if (obj.value.length < 2) {
                alert("Shorter than 2.");
                document.getElementById("submit").disabled = true;
                return false;
            } else {
                document.getElementById("submit").disabled = false;
                return true;
            }
        }