使用JavaScript禁用字段集
我尝试通过在不同的选项上调用此函数。 我还尝试将整个select语句放在一个div中,并在div标记后单击函数调用使用JavaScript禁用字段集,javascript,jquery,html,Javascript,Jquery,Html,我尝试通过在不同的选项上调用此函数。 我还尝试将整个select语句放在一个div中,并在div标记后单击函数调用 function disableField() { "use strict"; var a = document.forms["myForm"]["donate_type"].value; if (a == "pet") { document.getElementById("pet").disabled = false; document.getEle
function disableField() {
"use strict";
var a = document.forms["myForm"]["donate_type"].value;
if (a == "pet") {
document.getElementById("pet").disabled = false;
document.getElementById("money").disabled = true;
document.getElementById("service").disabled = true;
}
if (a == "money") {
document.getElementById("pet").disabled = true;
document.getElementById("money").disabled = false;
document.getElementById("service").disabled = true;
}
if (a == "service") {
document.getElementById("pet").disabled = true;
document.getElementById("money").disabled = true;
document.getElementById("service").disabled = false;
}
}
宠物
货币的
服务
宠物
请选择您想捐赠的宠物
狗
仓鼠
货币的
请求的金额
付款方式
信用卡
支票
但我似乎无法禁用选定的字段集。
我有三个不同的字段集,分别有宠物、金钱和服务
有人能告诉我我犯了什么错误吗
提前感谢。您丢失了一些代码,这使得测试代码具有挑战性。我根据您的描述和引用添加了缺少的元素 我将选项上的
onclick
监听器替换为select上的onchange
监听器。
我还修复了您的禁用
/禁用
打字错误
函数禁用字段(){
var a=document.forms[“myForm”][“捐赠类型”]。值;
如果(a==“宠物”){
document.getElementById(“pet”).disabled=false;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=true;
}否则如果(a==“金钱”){
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=false;
document.getElementById(“服务”).disabled=true;
}否则如果(a==“服务”){
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=false;
}否则{
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=true;
}
}
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=true代码>
宠物
货币的
服务
您需要调用选择元素上的函数。请尝试以下操作:
函数禁用字段(){
var a=document.forms[“myForm”][“捐赠类型”]。值;
如果(a==“宠物”){
document.getElementById(“pet”).disabled=false;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=true;
}
如果(a==“货币”){
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=false;
document.getElementById(“服务”).disabled=true;
}
如果(a=“服务”){
document.getElementById(“pet”).disabled=true;
document.getElementById(“money”).disabled=true;
document.getElementById(“服务”).disabled=false;
}
}
宠物
货币的
服务
disable
应该被禁用
注意到,更改了,但是仍然没有做它应该做的事情。你可以添加一些html元素,这些元素的ID是pet,money.service,我之前试过了,但是它告诉我太多的代码@singsuyashI复制任何问题都有困难,因为这里没有足够的代码。你能不能请这个问题包含一个?谢谢你的剪报。我试过了,我试过了,但在选择一个选项后,您仍然可以在其他字段中键入@JhevanteMcdonald您是否通过运行代码片段运行了我答案中的示例,但失败了?是的,在选择Pet.Monetary/Service后,我可以在所有3个字段中键入。@JhevanteMcdonald它应该按照您指定的逻辑工作。当选择该选项时,只有宠物是可写的,当选择该选项时,服务是可写的,依此类推。您没有指定任何其他内容。很抱歉,我不清楚,但是当选择了x选项时,我会尝试这样做,以便用户不能在具有不同id的字段集中输入任何内容。
<form name="myForm">
<select name="donate_type" onchange="disableField()">
<option value=""></option>
<option value="pet">Pet</option>
<option value="money">Monetary</option>
<option value="service">Service</option>
</select>
<fieldset id ="pet">
<legend>Pet</legend>
<form>
Please select the pet you would like to Donate<br>
<select name="pet" >
<option value="dog">Dog</option>
<option value="hamster">Hamster</option>
</select>
<fieldset id="monetary" >
<legend>Monetary</legend>
<form>
Requested Amount<input type="number" name="donate_amount">
Method of payment
<select name="donate_type" onclick = "">
<option value="credit_card">Credit Card</option>
<option value="cheque">Cheque</option>
</select>
</form>