无法在javascript中更改多个值

时间:2012-06-21 22:48:09

标签: javascript forms

好吧,我遇到了一个问题。我正在修改ATS系统并需要添加一些功能但我在JavaScript中遇到了一个奇怪的事情。基本上我需要根据下拉菜单中的选择更改一组表单值,并且代码可以工作......当只有一件事要改变时。我添加其他需要更改的部分的那一刻就停止了工作。我跑遍了互联网和许多Stack问题,但似乎没有任何帮助。有效的代码是:

<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系统),所以非常感谢帮助。

3 个答案:

答案 0 :(得分:2)

从问题的上下文中,你应该在if和else之后添加大括号:(也由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';      
        }

答案 1 :(得分: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';
    }
}​

答案 2 :(得分:0)

当您想要执行一系列操作时,需要在括号后面加上条件。 例如:

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