0

これは私のJavaスクリプト関数です:

function issueOrReturn() {
    var functiontype = document.getElementById("functiontype").value;
    alert("functiontype : "+functiontype);
    if (functiontype=="issueTempcard") {
        alert("1111111111111111111111111");
        var empid = document.getElementById("empid").value;
        var tempcardnumber = document.getElementById("tempcardnumber").value;
        var dateofissue = document.getElementById("dateofissue").value;
        if(empid.length==0) {
            alert("Please enter Employee ID ");
            return false;
        }
        if(tempcardnumber.length==0) {
            alert("Please enter Card Number ");
            return false;
        }
        if(dateofissue.length==0) {
            alert("Please enter Date of issue ");
            return false;
        }
        if(empid.length > 0 && tempcardnumber.length > 0 && dateofissue.length > 0) {
            document.forms["frmTempcard"].submit();
        } else {
            alert("Please enter Employee ID and and Card Number and Date of issue ");
            return false;
        }
    }
    if (functiontype == "returnTempCard") {
        alert("222222222222222222222222222222");
        var empid = document.getElementById("empid").value;
        var dateofreturn = document.getElementById("dateofreturn").value;

        if (empid.length == 0) {
            alert("Please enter Employee ID ");
            return false;
        }
        if (dateofreturn.length == 0) {
            alert("Please enter Date of return ");
            return false;
        }
        if (empid.length > 0 && dateofreturn.length > 0) {
            document.forms["frmTempcard"].submit(); 
        } else {
            alert("Please enter Employee ID and Date of return ");
            return false;
        }
    }
}

ここで functiontype は次issueTempcardのとおりです。アラートは出力されますが、if ループに入っていないissueTempcardため、フォームは送信されません。

また、次の方法でフォームを送信するのが正しいかどうかも教えてください。

if (empid.length > 0 && tempcardnumber.length > 0 && dateofissue.length > 0) {
    document.forms["frmTempcard"].submit(); 
} else {
    alert("Please enter Employee ID and and Card Number and Date of issue ");
}

私ができるように、親切に助けてください。

よろしく、

4

1 に答える 1

1

両方の関数定義に終了}文字がありません。このため、それらは実行されません (javascript インタープリターが関数全体の読み取りに失敗するため)。

このJsFiddleは、問題なくコードが稼働していることを示しています。私がしたことは、}

JS コードのデバッグを支援するために、Firebugを使用してみてください。

フォームを送信する方法は私には問題ないように見えますが、末尾もありません}

于 2012-07-18T10:23:39.257 に答える