使用JavaScript设置输入值 - 取决于不同输入的值

时间:2015-05-21 07:07:39

标签: javascript input

嘿,我遇到了这个问题,我自己无法解决。这是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

3 个答案:

答案 0 :(得分:1)

如果你这么说就行了

http://jsfiddle.net/170x1xs9/

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)

  1. 语法错误。

    if (document.getElementById('to').value == "one@gmail.com" // No ')'
    
  2. 如果在函数中使用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;
};