我正在尝试找到一种方法,允许用户单击组合框中的项目并使其值填充输入字段,并在选择适当的选项时提醒“工作停止”或“工作开始”消息。但我的代码不起作用。请帮忙! 这是我的代码:
<html>
<head>
</head>
<body>
<form>
<select name="sel1" onChange="populateField(this.form)" >
<option value="">---Select---</option>
<option value="stop" >Stop</option>
<option value="start">Start</option>
</select>
<input type="text" id="eStop" name="eStop" />
</form>
<script type="text/javascript">
function populateField(frm){
test = frm.stop.value;
alert('work' test);
frm.eStop.value = test;
}
</script>
</body>
</html>
先谢谢
答案 0 :(得分:1)
<form>
<select name="sel1" id="select" onchange="populateField();" >
<option value="">---Select---</option>
<option name="stop" value="stop" >Stop</option>
<option name="start" value="start">Start</option>
</select>
<input type="text" id="eStop" name="eStop" />
</form>
<script>
function populateField() {
test = document.getElementById('select').value;
alert(test);
document.getElementById('eStop').value = test;
}
</script>
答案 1 :(得分:0)
如果你愿意,也可以使用selectedIndex
<form>
<select name="sel1" id="select" onchange="populateField(this);" >
<option value="">---Select---</option>
<option name="stop" value="stop" >Stop</option>
<option name="start" value="start">Start</option>
</select>
<input type="text" id="eStop" name="eStop" />
</form>
<script>
function populateField(sel) {
sel.form.eStop.value = 'work ' + (sel.selectedIndex == 1 ? 'Stop' : 'Start');
}
</script>
答案 2 :(得分:0)
在您的选择中,您可以将onchange's
和onkeypress添加到populateField的函数this
作为对象引用。
<select name="sel1" onchange="populateField(this)" onkeypress="populateField(this)">
现在您可以参考o
中的选择。将所选值传递给警报对话框和输入字段。
function populateField(o){
alert("work " + o.value);
// use regular W3C DOM syntax for element referencing the input and populate it with the select objects selected options value
document.getElementById("eStop").value = o.value;
}
答案 3 :(得分:0)
您的代码有两个错误。您不能使用 test = frm.stop.value;
之类的值来引用元素,而是使用 test = frm.sel1.value;
。另一个错误是此行alert('work' test);
。在这里,您将使用变量“test”加入字符串“work”。在java脚本中,如果您连接两个或多个变量或字符串和变量,您总是必须使用+符号加入它们:alert('work ' + test);
。剩下的代码没问题:
<html>
<head>
</head>
<body>
<form>
<select name="sel1" onChange="populateField(this.form)" >
<option value="">---Select---</option>
<option value="stop" >Stop</option>
<option value="start">Start</option>
</select>
<input type="text" id="eStop" name="eStop" />
</form>
<script type="text/javascript">
function populateField(frm){
var test = frm.sel1.value;
alert('work '+ test);
frm.eStop.value = test;
}
</script>
</body>
</html>
您也可以使用“sel1”的selectedIndex属性来执行相同操作。