好吧,我遇到了一个问题。我正在修改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系统),所以非常感谢帮助。
答案 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'
}