Javascript:选择“表单更改”;“价值”;在文本框中,但从同一下拉列表中重新选择时不更新

Javascript:选择“表单更改”;“价值”;在文本框中,但从同一下拉列表中重新选择时不更新,javascript,forms,select,onchange,getelementbyid,Javascript,Forms,Select,Onchange,Getelementbyid,这是一件简单的事情,但对于这个新手来说,它不起作用 只需从下拉列表中选择一个项目,它就会自动更新和divs中的文本框 当我使用当前代码时,它只显示任何选择的“if3” 我尝试使用else if,但要么我的代码错误,要么它不应该那样工作 非常感谢您的反馈 我环顾了整个网站,没有找到解决办法 这是我的密码: <script> function phoneNumber() { var officeaddress=document.getElementById("of

这是一件简单的事情,但对于这个新手来说,它不起作用

只需从下拉列表中选择一个项目,它就会自动更新和divs中的文本框

当我使用当前代码时,它只显示任何选择的“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>

函数phoneNumber()
{
var officeaddress=document.getElementById(“officeaddress”);
if(officeaddress.options=“936”)
document.getElementById(“enterphone”).value=“if1”;
document.getElementById(“enterfax”).value=“if1”;
if(officeaddress.options=“第七大道729号”)
document.getElementById(“enterphone”).value=“if2”;
document.getElementById(“enterfax”).value=“if2”;
if(办公地址选项=“东56街155号”)
document.getElementById(“enterphone”).value=“if3”;
document.getElementById(“enterfax”).value=“if3”;
}
选择您批准的主要办公地址
百老汇936
第七大道729号
东56街155号

首先,在
if
语句中,使用一个
=
赋值。您需要使用
==
来测试值(查看有关相等运算符的更多信息)。我还将测试select的值或selected选项的值。像这样的

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语句周围的大括号
{}
和一些基本格式。

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

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

这相当于空指针异常。您基本上是在尝试执行null.value,这是不正确的。确保以编程方式访问的内容都存在。

为什么要使用select.options[select.selectedIndex].value而不是select.value?@Mark Walters,谢谢你。这很有效。感谢您提供关于等式运算符的参考。我觉得这很简单。你是对的,它不在里面,但我认为它不重要。我的重点是获取有关javascript的反馈。谢谢你,拉贾特。
document.getElementById("enterfax").value="if1";
//Uncaught TypeError: Cannot set property 'value' of null