Javascript 隐藏输入字段,直到选择了某个下拉值
我试图在选择下拉列表的某个值之前隐藏HTML中的文本字段。我非常不擅长javascript,我已经搜索了一段时间的解决方案 到目前为止,这是我可以拼凑的: Javascript代码:Javascript 隐藏输入字段,直到选择了某个下拉值,javascript,jquery,html,Javascript,Jquery,Html,我试图在选择下拉列表的某个值之前隐藏HTML中的文本字段。我非常不擅长javascript,我已经搜索了一段时间的解决方案 到目前为止,这是我可以拼凑的: Javascript代码: function newCustomerType() { var ddl = document.getElementById("customerType"); var selectedValue = ddl.options[ddl.selectedIndex].value; if (sel
function newCustomerType()
{
var ddl = document.getElementById("customerType");
var selectedValue = ddl.options[ddl.selectedIndex].value;
if (selectedValue == "new")
{
document.getElementById('newType').type = text;
}
else
{
document.getElementById('newType').type = hidden;
}
}
HTML代码:
<form id="newCustomer" name="newCustomer" method="post" action="">
<table>
<tr>
<td>Name:</td>
</tr>
<tr>
<td><input type="text" name="customerName"/></td>
</tr>
<tr>
<td>Type:</td>
</tr>
<tr>
<td>
<select id="customerType" name="customerType">
<option value="existing">existing type</option>
<option value="new">new type:</option>
</select>
<input type="hidden" id="newType" name="newType"/>
</td>
</tr>
<tr>
<tr>
<td><input type="submit" value="Register"/></td>
</tr>
</table>
</form>
姓名:
类型:
现有类型
新类型:
这似乎不起作用。我做错了什么?
任何帮助都将不胜感激。请查看此信息
将输入类型更改为“text”,并将样式表显示设置为none
<input type="text" id="newType" name="newType" style="display:none"/>
请看这个
将输入类型更改为“text”,并将样式表显示设置为none
<input type="text" id="newType" name="newType" style="display:none"/>
您需要将
type=“text”
作为字符串执行,因为文本是未定义的
,这同样适用于type=“hidden”
,您还可以使用setAttribute
更改类型。当所选选项更改时,您需要调用函数。您可能会考虑“事件侦听器”。是否确实希望它是一个隐藏字段(type=“hidden”
)?或仅从视图中隐藏(display:none
)?showdev-仅从视图中隐藏,直到选择了选项“new type”(新类型)就足够了。Kyle-进行了您建议的更改,但无论选择了哪个下拉选项,文本字段都保持隐藏。您需要将文本作为字符串执行,因为文本是未定义的,所以type=“hidden”
,这同样适用于type=“hidden”
,您还可以使用setAttribute
更改类型。当所选选项更改时,您需要调用函数。您可能会考虑“事件侦听器”。是否确实希望它是一个隐藏字段(type=“hidden”
)?或仅从视图中隐藏(display:none
)?showdev-仅从视图中隐藏,直到选择了选项“new type”(新类型)就足够了。Kyle-进行了您建议的更改,但无论选择了哪个下拉选项,文本字段都保持隐藏。这基本上是我的答案,但有一些建议:1)为了显示它,请将style.display设置为“”,而不是“block”。2) var selectedValue=ddl.value
也有效,更简单。3) 与其在html中设置内联样式,不如调用newCustomerType()函数将输入初始化为hidden。这基本上是我的答案,但有几点建议:1)为了显示它,请将style.display设置为“”,而不是“block”。2) var selectedValue=ddl.value
也有效,更简单。3) 不要在html中设置内联样式,只需调用newCustomerType()函数将输入初始化为hidden即可。