0

2 つのフォームのフィールドを検証するには、Java スクリプト関数を使用する必要があります。基本的に、基準は、ユーザーがフォーム名を選択したときに、必要なフィールドが次のフォームに表示される必要があるということです。別のページのフォームに Java スクリプト関数を使用できるかどうかを確認する必要があります。以下は私のコードです

フォーム rpt のコード

<html>
<head>
<script type="text/javascript" src="javascript/formvalidations.js"></script>
</head>
<form name="rpt" method="post" action="">
    <label>Form Name </label>
    <select id="formname" name="formname"> 
    <option value="" selected="selected">--Please Select Form Name--</option>
    <option value="1">1</option>
    <option value="2">2</option>
</select><br />
<input id="ok" type="submit" name="ok" value="OK" onclick="return chkform();" />
</form>
</html>

Java スクリプト関数のコード

function chkform(){
    var formname = document.forms.rpt.formname.value;
        if (formname == "1"){
            document.forms.reportform.getElementById("1").style.display="inline";
            document.forms.reportform.getElementById("2").style.display="inline";
            document.forms.reportform.getElementById("3").style.display="inline"
            document.forms.reportform.getElementById("4").style.display="none";
            document.forms.reportform.getElementById("5").style.display="none";

        }
        elseif (formname == "2"){
            document.forms.reportform.getElementById("1").style.display="inline";
            document.forms.reportform.getElementById("2").style.display="none";
            document.forms.reportform.getElementById("3").style.display="inline"
            document.forms.reportform.getElementById("4").style.display="none";
            document.forms.reportform.getElementById("5").style.display="inline";
        }
        else{
            alert("select form name");
            return false;
        }
}

フォーム reportform に 5 つのフィールドがあります。レポートフォームに表示される必須フィールドが必要です。ユーザーがrptで値1を選択した場合、フィールド1、2、および3が表示される必要があるとしましょう。

4

1 に答える 1

2

次の行に構文エラーがあります。

elseif (formname == "2"){

JavaScript には単一の単語がありませんelseif。スペースを挿入する必要があります。

else if (formname == "2"){

また、getElementById()関数documentは個々の html 要素ではなく のメソッドであるため、次を使用します。

document.getElementById("1").style.display="inline";
// and so forth

ブラウザの JS コンソールを使用すると (たとえば、Chrome で F12 キーを押す)、これらのエラーが報告されます (修正方法はわかりませんが、少なくとも正しい方向を示します)。

于 2013-01-24T07:32:52.337 に答える