0

1 つの関数を含むファイル .js があります。そして、この関数を呼び出したい別のクラスを開始します。しかし、理由はわかりません。関数は何も返しません。私が持っているコードは次のとおりです。

//Valida a data inserida pelo utilizador.
function validarData(){
    var dataValor = window.document.forms[0].data.value;
    if(dataValor == ''){ //Verifica se o campo data está preenchido
        alert('O campo data encontra-se vazio. Seleccione uma data!');
        return false;
    }else{
        var t = validar(dataValor);
        alert(t);
        return false;
    }
}

ファイル .js のコードは次のとおりです。

function validar(data){
    return data;
}

なぜそれが機能しないのか、誰にもわかりませんか?

4

1 に答える 1

0

付随するhtmlがなければ、この答えはほとんど暗闇の中で撮影されています..しかし、関数を送信イベントにアタッチすると、関数の値が返されます...

<form onsubmit="return validarData();">
<!--                   ^ - this in your submit event(just listing it this way for simple explanation instead of advanced event attaching) -->

そして、あなたの関数がドキュメントの頭または本文で定義されていれば、あなたのコードは私にとってはうまくいきます:

<form method="POST" onsubmit="return validarData()">
    <input type="text" name="data" />
    <input type="submit" />
</form>
//Valida a data inserida pelo utilizador.
function validarData(){
    var dataValor = window.document.forms[0].data.value;
    console.log(dataValor);
    if(dataValor == ''){ //Verifica se o campo data está preenchido
        alert('O campo data encontra-se vazio. Seleccione uma data!');
        return false;
    }else{
        var t = validar(dataValor);
        alert(t);
        return false;
    }
}

function validar(data){
    return data;
}

もちろん、関数が他のファイルに存在する場合、関数に正しくリンクしていることも前提です..

<script type='text/javascript' src='path/to/script.js'></script>
于 2013-05-13T08:59:40.007 に答える