0

这是一件简单的事情,但对于这个新手来说,它是行不通的。

只想从下拉列表中选择一项,它会自动更新文本框和 div。

当我使用当前代码时,它只显示任何选择的“if3”。

我尝试使用 else if 但要么我的代码错误,要么它不应该那样工作。

感谢您的反馈。

我环顾了整个站点,但没有找到解决方案。

这是我的代码:

    <script>
    function phoneNumber()
    {
var officeaddress=document.getElementById("officeaddress");

if (officeaddress.options="936 Broadway")
document.getElementById("enterphone").value="if1";
document.getElementById("enterfax").value="if1";
if(officeaddress.options="729 Seventh Avenue")
document.getElementById("enterphone").value="if2";
document.getElementById("enterfax").value="if2";
if(officeaddress.options="155 East 56th Street")
document.getElementById("enterphone").value="if3";
document.getElementById("enterfax").value="if3";


}


</script>


</head>

<body>

 <div class="textforms3">
       <select name="officeaddress" id="officeaddress" onchange="phoneNumber()">
        <option value="" selected="selected">Select Your Approved Main Office Address 
</option>
            <option value="936 Broadway" >936 Broadway</option>
            <option value="729 Seventh Avenue">729 Seventh Avenue</option>
            <option value="155 East 56th Street">155 East 56th Street</option>
      </select>
    </div>

<div class="enterphone"> 
       <input name="enterphone" type="text" id="enterphone" size="20" class="inputstyle" value="Phone Number"   />
       </div>
</body>
</html>
4

2 回答 2

2

首先,在您的if陈述中,您使用一个=分配值的陈述。您需要===用于测试值(在此处查看有关相等运算符的更多信息)。我还将测试选择的值或所选选项的值。像这样的东西。

function phoneNumber() {

    var officeaddress = document.getElementById("officeaddress").options[document.getElementById("officeaddress").selectedIndex].value;

    if (officeaddress === "936 Broadway") {
      document.getElementById("enterphone").value = "if1";
      document.getElementById("enterfax").value = "if1";
    }

    if(officeaddress === "729 Seventh Avenue") {
      document.getElementById("enterphone").value = "if2";
      document.getElementById("enterfax").value = "if2";
    }

    if(officeaddress === "155 East 56th Street" ){
      document.getElementById("enterphone").value = "if3";
      document.getElementById("enterfax").value = "if3";
    }
}

{}您的代码还缺少围绕语句的花括号if和一些基本格式。

于 2013-09-11T12:54:11.860 回答
0

您粘贴的 html 没有任何 id 为“enterfax”的元素。因此,即使在建议的代码更正和所有格式之后,这也会中断:

document.getElementById("enterfax").value="if1";
//Uncaught TypeError: Cannot set property 'value' of null

这是一个空指针异常的 JS 等价物。您基本上是在尝试执行不正确的 null.value 。确保您以编程方式访问的任何内容都存在。

于 2013-09-11T13:00:30.183 回答