我的网站上有一个联系人字段,并测试插入的值是否正确。那部分工作正常。如果一个值是正确的,则有一个 value = true 的 var。
我还调用了第二个函数,它测试是否所有联系人字段都为真。如果是这样,发送按钮将被启用,否则它将保持禁用状态。不幸的是,我在我的控制台中收到一个错误,上面写着:Uncaught ReferenceError: nameIsGoed is not defined。 希望你能帮帮我! :)
悄然相同的树函数之一
function checkEmptyMessage(field) {
if (field.value != '') {
document.getElementById("message").style.borderColor="#91bc1e";
var messageIsGoed = true;
}
else if (field.value == ''){
document.getElementById("message").style.borderColor="#f15a24";
var messageIsGoed = false;
}}
检查值是否为true的函数,如果是:禁用get的false。
function checkDisable(){
if ((nameIsGoed == true) && (messageIsGoed == true) && (mailIsGoed == true)){
document.getElementById("submit").disabled=false;
alert("mooizo");
}
else{
alert("er missen nog gegevens");
}
}
最佳答案
你有范围问题,var messageIsGoed;
应该在你的函数之外(声明),所以你给它的值可用于其他函数。
var messageIsGoed; // outside the function
function checkEmptyMessage(field) {
if (field.value != '') {
document.getElementById("message").style.borderColor="#91bc1e";
messageIsGoed = true;
}
else if (field.value == ''){
document.getElementById("message").style.borderColor="#f15a24";
messageIsGoed = false;
}}
我在函数外部添加(声明)var messageIsGoed;
并删除了函数内部的 var
这样您就不会再次声明它(这实际上创建了一个新变量仅在该函数内可用)。
在这里阅读更多关于声明变量的信息:MDN:var
关于javascript - var = true 不会传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18536867/