var = true不会传递给另一个函数

Men*_*nno 2 javascript variables if-statement function

我在我的网站上有一个联系人字段,并测试插入的值是否良好.那部分工作正常.如果值正确,则使用value = true进行var.

我还调用了第二个函数,它测试所有联系人字段是否都是真的.如果是这样,则发送按钮将被启用,否则它将保持禁用状态.可悲的是,我在我的控制台中收到错误,其中显示:未捕获的ReferenceError:未定义nameIsGoed.希望你能帮助我!:)

其中一个树功能悄然相同

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;
}}
Run Code Online (Sandbox Code Playgroud)

检查值是否为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");
    }

}
Run Code Online (Sandbox Code Playgroud)

Ser*_*gio 9

你有一个范围问题,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;
}}
Run Code Online (Sandbox Code Playgroud)

var messageIsGoed;在函数外部添加(声明)并删除函数var内部,因此您不再声明它(这实际上使新变量仅在该函数内可用).

阅读更多关于声明变量的信息:MDN:var