如果这是一个愚蠢的问题,请原谅我; 自从我使用javascript以来已经很多年了.这实际上是通过PHP在Joomla中呈现的javascript和html,但我尝试在普通的旧本地HTML文件中使用相同的代码,我得到了同样的错误.我有一个带有几个选项的选择字段,而onchange我想将文本字段的值设置为所选选项的值.无论我选择哪个选项,文本字段都将设置为"未定义".谁能帮我吗?这是普通的HTML代码:
<html>
<head>
<script type="text/javascript">
function setPrefix(){
var f = document.adminForm;
f.prefix.value = f.editprefixes.selectedIndex.value;
}
</script>
</head>
<body>
<form name="adminForm">
<select name="editprefixes" onchange="javascript:setPrefix()">
<option value=1000>1000</option>
<option value=1001>1001</option>
<option value=1005>1005</option>
<option value=1011>1011</option>
<option value=1016>1016</option>
</select>
<br />
<input type="text" name="prefix" value="" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
A <select>的selectedIndex属性不是指实际<option>对象,而是与所选选项的索引相对应的整数(因此第一个选项为0,第二个选项为1,依此类推).
如果要获取所选选项的值,则需要使用:
var sel = f.editprefixes;
f.prefix.value = sel.options[sel.selectedIndex].value;
Run Code Online (Sandbox Code Playgroud)