我只想在两个函数都返回 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/