【发布时间】:2016-03-31 00:48:17
【问题描述】:
我是 Javascript 新手。我尝试搜索网站以自己解决这个问题,但我没有成功。我正在使用 HTML 和 Javascript 创建一个表单。
我被困在以下问题上,不确定我错过了什么:
用户将选择一个国家,根据用户选择的内容,我需要禁用美国字段或城市/省字段。
如果用户从 id="txtCountries" 中选择“美国”,则 id="txtCustomerStates" 保持启用状态,而 id="txtCityProvince" 则禁用。
如果用户选择任何其他国家而不是“美国”,则反之亦然 - id="txtCustomerStates" 已禁用,id="txtCityProvince" 已启用。
目前 - 无论选择什么,启用 txtCityProvince 而禁用 txtCustomerStates。
以下是我所做的:Javascript 文件 - 文件名 disable.js:
//If user selects "United States" - City/Province (International) will be disabled
//If user does not selects "United States - State (USA) will be disabled
function disableState() {
if (document.getElementById("txtCountries").value === "United States")
{
// document.getElementById("txtCustomerStates").disabled='false';
document.getElementById("txtCityProvince").disabled='true';
}
else
{
// document.getElementById("txtCityProvince").disabled='false';
document.getElementById("txtCustomerStates").disabled='true';
}
}
HTML 文件: 国家部分:
<div id="divCountries" class="fieldRow">
<div class="leftLabel labelWidth20">
<label for="txtcountries">Country:</label>
</div>
<div class="LeftField">
<div class="formField34">
<select id="txtCountries" type="text" name="Countries" alt="Countries"
title="Countries" onchange="javascript:disableState();">
<option value=""></option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="UnitedStates">United States</option>
</select>
</div>
</div>
美国部分:
<div class="leftLabel labelWidth20">
<label for="txtCustomerStates">State (USA):</label>
</div>
<div class="LeftField">
<div class="formField40">
<select id="txtCustomerStates" type="text" name="State" alt="United
States" title="United States">
<option value=""></option>
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
<option value="American Samoa">American Samoa</option>
<option value="Arizona">Arizona</option>
<option value="Arkansas">Arkansas</option>
</select>
</div>
</div>
非美国部分:
<div id="divCityProvince" class="fieldRow">
<div class="leftLabel labelWidth20">
<label for="txtCityProvince">City/Province/Town<br>(International):
</label>
</div>
<div class="formField34">
<input id="txtCityProvince" type="text" class="textfield"
alt="City/Province/Town (International)" title="City/Province/Town
(International)">
</div>
</div>
提前感谢您的帮助, 是
【问题讨论】:
标签: javascript html