嘿,我遇到了这个问题,我自己无法解决。这是html表单,它将数据传递给PHP以发送邮件。
首先,我有下拉列表:
<select id="dropdown" name="dropdown">
<option selected="true" disabled="disabled">Choose</option>
<option id="A" value="one@gmail.com">One</option>
<option id="B" value="two@gmail.com">Two</option>
</select>
此下拉列表定义下一个输入的值:
<input type='text' name="to" id="to" value="e-mail"/>
<script>
document.getElementById('dropdown').onchange = function () {
document.getElementById('to').value = event.target.value
}
</script>
最后,我需要从第二个值中定义第三个输入。
<input type='text' name="from" id="from" value="Office manager"/>
但是这最后一段代码对我不起作用:
<script>
var name;
if (document.getElementById('to').value == "one@gmail.com" {
name = "Martin";
} else {
name = "Tom";
}
document.getElementById("from").value = name;
</script>
我该怎么办? JSFiddle
答案 0 :(得分:1)
如果你这么说就行了
document.getElementById('dropdown').onchange = function () {
document.getElementById('to').value = event.target.value
var name;
if (document.getElementById('to').value == "one@gmail.com") {
name = "Martin";
} else {
name = "Tom";
}
document.getElementById("from").value = name;
}
答案 1 :(得分:1)
语法错误。
if (document.getElementById('to').value == "one@gmail.com" // No ')'
如果在函数中使用event
,则应将其作为参数传递。
document.getElementById('dropdown').onchange = function (event /* <-------- HERE */) {
document.getElementById('to').value = event.target.value
}
通过不声明,您使用window.event
,这可能适用于某些浏览器,但这是不好的做法。
答案 2 :(得分:0)
查看解决方案:http://jsfiddle.net/jam7m5ca/1/
您忘记传递参数event
。
document.getElementById('dropdown').onchange = function (event) {
document.getElementById('to').value = event.target.value;
};