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