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

时间:2015-10-09 04:24:20

标签: javascript html forms validation submit

我想只在函数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>

4 个答案:

答案 0 :(得分:0)

您可以使用button元素的disabled属性。如果条件满足,则将其设置为false。

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

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函数实际上没有对可以减少的返回值做任何事情。

答案 1 :(得分:0)

    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;
        }
    }

答案 2 :(得分:0)

根据您给出的条件设置变量(&#34;禁用&#34;在下面的代码中),然后将提交输入的禁用状态(我添加了id)设置为该变量。< / p>

<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>

答案 3 :(得分:0)

试试吧

        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;
            }
        }