JavaScript - 从函数中获取返回值

标签 javascript html forms validation submit

我只想在两个函数都返回 true 时启用提交按钮。我只能使用 JavaScript。有人可以帮忙吗?

代码如下:

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

function func1(obj){
    if (obj.value == "abc"){
        return true;
    } else {
        alert("Isn't abc");
        return false;
    }

}   

<form method="" action="">

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

</form>

最佳答案

我建议您对代码进行一些更改。

首先,您有两个具有相同 ID 的输入。你需要解决这个问题。
向表单添加一个方法,并更改提交按钮的名称和 ID,如下所示:

<form id="form" method="POST" action="">
    <input type="text" name="text" id="text1" onblur="check();"><br/>
    <input type="text" name="text" id="text2" onblur="check();"><br/>
    <input type="submit" name="submit_btn" id="submit_btn" disabled>
</form>

在 onblur 事件中,我们可以添加一个检查您的条件的函数:

function check() {
    var obj1 = document.getElementById('text1');
    var obj2 = document.getElementById('text2');
    if (func(obj1) && func1(obj2)) {
        document.getElementById('submit_btn').disabled = false;    
    } else {
        document.getElementById('submit_btn').disabled = true;    
    }        
}

并启用提交。

关于JavaScript - 从函数中获取返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33043894/

相关文章:

python - 创建一个使用 url_for() 插入 URI 变量的 Flask 搜索栏

php - 将 PHP session 变量传递到 HTML 表单

javascript - 当函数执行 Jquery 时做一些事情

javascript - 选择动态创建的元素

javascript - 为 AWS CDK 堆栈中的阶段分配不同的 Lambda 函数

python - 包含 header 的 innerhtml 的替代方案?

html - CSS3 动画不适用于非 webkit 浏览器

html - 一个列表,简单的向左浮动,不同的单元格大小

python - 使用views.py中的类创建表单时,表单操作如何在django中工作

javascript - 使用 Canvas 在轮廓透明图像后面绘制笔划?