Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript禁用字段集_Javascript_Jquery_Html - Fatal编程技术网

使用JavaScript禁用字段集

使用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

我尝试通过在不同的选项上调用此函数。 我还尝试将整个select语句放在一个div中,并在div标记后单击函数调用

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>