1

さて、私は問題に遭遇しました。私はATSシステムを変更している最中で、いくつかの機能を追加する必要がありますが、JavaScriptで奇妙なことに遭遇しました。基本的に、ドロップダウンメニューからの選択に基づいてフォーム値のセットを変更する必要があり、コードは機能します...変更するものが1つしかない場合。変更する必要のある他のセクションを追加すると、機能しなくなります。私はインターネットと多くのスタックの質問を実行しましたが、何も役に立たないようです。動作するコードは次のとおりです。

<form id="test" name="test">
        <select id="statusID" name="statusID" onchange="javascript: return updateForm();">
                <option value="" selected></option>
                <option value="test1">One</option>
                <option value="2">Two</option>
        </select>
        <br />
        <input type="hidden" value="Test" id="RS" name="RS" />
    </form>

<script type='text/javascript'>
function updateForm()
{   
    if (document.getElementById('statusID').selectedIndex  == "2") 
                document.getElementById('RS').value = '200' 

                else if(document.getElementById('statusID').selectedIndex == "1")
                document.getElementById('RS').value = 'RSP'
}
</script>

これは、サーバーでテストしたときに機能しますが、入力する必要のある他のフィールドを追加すると、完全に機能しなくなります。私が使用しているJavaScriptは以下のとおりです。私は見たコードに基づいていくつかのバリエーションを試しましたが、役に立ちませんでした。

<script type='text/javascript'>
function updateForm()
{

    if (document.getElementById('statusID').selectedIndex  == "2") 
                document.getElementById('RS').value = '200'
                document.getElementById('RSDATE').value = '200'
                document.getElementById('RSP').value = '200'

                else if(document.getElementById('statusID').selectedIndex == "1")
                document.getElementById('RS').value = 'RSP'
                document.getElementById('RSDATE').value = 'RSP'
                document.getElementById('RSP').value = 'RSP'          
            }

</script>

私はJavaScriptにまったく精通していないことに注意する必要があります。また、私はPHPに習熟していません...それでも私はPHPベースのATSシステムを変更しています。このコードは、私と目標(ATSシステムの完成)の間の最後から2番目のブロックなので、助けていただければ幸いです。

4

3 に答える 3

2

質問のコンテキストから、ifおよびelseifの後に中括弧を追加する必要があります:(Combatでも指摘されているため、セミコロンを追加する必要があります)

        if (document.getElementById('statusID').selectedIndex  == "2")  {
            document.getElementById('RS').value = '200';
            document.getElementById('RSDATE').value = '200';
            document.getElementById('RSP').value = '200';
        }
        else if(document.getElementById('statusID').selectedIndex == "1") {
            document.getElementById('RS').value = 'RSP';
            document.getElementById('RSDATE').value = 'RSP';
            document.getElementById('RSP').value = 'RSP';      
        }
于 2012-06-21T22:50:01.680 に答える
2

各行の終わりにはセミコロンが必要であり、各条件には中括弧が必要です。

function updateForm() {
    if (document.getElementById('statusID').selectedIndex == "2") {
        document.getElementById('RS').value = '200';
        document.getElementById('RSDATE').value = '200';
        document.getElementById('RSP').value = '200';
    }

    else if (document.getElementById('statusID').selectedIndex == "1") {
        document.getElementById('RS').value = 'RSP';
        document.getElementById('RSDATE').value = 'RSP';
        document.getElementById('RSP').value = 'RSP';
    }
}​
于 2012-06-21T22:56:43.167 に答える
0

アクションのブロックを実行する場合は、条件の後に括弧を付ける必要があります。例えば:

if (document.getElementById('statusID').selectedIndex  == "2") {
            document.getElementById('RS').value = '200'
            document.getElementById('RSDATE').value = '200'
            document.getElementById('RSP').value = '200'
}
于 2012-06-21T22:51:52.127 に答える