[英]disable button when no radio button is clicked
So I have a bunch of radio button and I want to make it so that if no radio button is clicked, the submit button is disabled.所以我有一堆单选按钮,我想这样做,如果没有点击单选按钮,提交按钮就会被禁用。 I found this javascript online but it is not working.
我在网上找到了这个 javascript 但它不起作用。 It's only working for one radio button only
它仅适用于一个单选按钮
HTML HTML
<div class="pilihansoalan">
<br>
<input type="radio" value="<?php echo $soalan['jawapan_a'];?>" name="pilihan" id="boxpilihan-1"/>
<label class="boxpilihan-1" for="boxpilihan-1"><?php echo $soalan['jawapan_a'];?></label>
<input type="radio" value="<?php echo $soalan['jawapan_b'];?>" name="pilihan" id="boxpilihan-2"/>
<label class="boxpilihan-2" for="boxpilihan-2"><?php echo $soalan['jawapan_b'];?></label>
</br>
<br>
<input type="radio" value="<?php echo $soalan['jawapan_c'];?>" name="pilihan" id="boxpilihan-3"/>
<label class="boxpilihan-3" for="boxpilihan-3" ><?php echo $soalan['jawapan_c'];?></label>
<div>
<input type="radio" value="<?php echo $soalan['jawapan_d'];?>" name="pilihan" id="boxpilihan-4"/>
<label class="boxpilihan-4" for="boxpilihan-4"><?php echo $soalan['jawapan_d'];?></label>
</div>
</br>
<button type="submit" form="form1" value="Pilih" disabled="disabled" class="pilihbutton">Pilih</button>
JS JS
$(function(){
$("input[type='radio']").change(function(){
$("button[type='submit']").prop("disabled", false);
});
});
There is a wrong class attribute defined for the submit button in the HTML code.在 HTML 代码中为提交按钮定义了错误的 class 属性。 class="pilihbutton" ="pilihan" instead it should be class="pilihbutton" .
class="pilihbutton" ="pilihan"而应该是class="pilihbutton" 。 All the other code is fine.
所有其他代码都很好。 Adding the correct HTML for your reference.
添加正确的 HTML 供您参考。
Updated code for vanilla javascript更新了原版 javascript 的代码
let input = document.querySelectorAll('input[type="radio"]'); let button = document.querySelector('button[type="submit"]'); input.forEach((element) => { element.addEventListener('change', function () { button.disabled = false; console.log(button); }); })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="pilihansoalan"> <br> <input type="radio" value="<?php echo $soalan['jawapan_a'];?>" name="pilihan" id="boxpilihan-1" /> <label class="boxpilihan-1" for="boxpilihan-1"><?php echo $soalan['jawapan_a'];?></label> <input type="radio" value="<?php echo $soalan['jawapan_b'];?>" name="pilihan" id="boxpilihan-2" /> <label class="boxpilihan-2" for="boxpilihan-2"><?php echo $soalan['jawapan_b'];?></label> </br> <br> <input type="radio" value="<?php echo $soalan['jawapan_c'];?>" name="pilihan" id="boxpilihan-3" /> <label class="boxpilihan-3" for="boxpilihan-3"><?php echo $soalan['jawapan_c'];?></label> <div> <input type="radio" value="<?php echo $soalan['jawapan_d'];?>" name="pilihan" id="boxpilihan-4" /> <label class="boxpilihan-4" for="boxpilihan-4"><?php echo $soalan['jawapan_d'];?></label> </div> </br> <button type="submit" form="form1" value="Pilih" disabled="disabled" class="pilihbutton">Pilih</button>
it's working fine for me, below is the working example, maybe you missed something.它对我来说很好,下面是工作示例,也许你错过了一些东西。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function(){
$("input[type='radio']").change(function(){
console.log("enter in on change")
$("button[type='submit']").prop("disabled", false);
});
});
</script>
</head>
<div class="pilihansoalan">
<br>
<input type="radio" value="<?php echo $soalan['jawapan_a'];?>" name="pilihan" id="boxpilihan-1"/>
<label class="boxpilihan-1" for="boxpilihan-1"><?php echo $soalan['jawapan_a'];?></label>
<input type="radio" value="<?php echo $soalan['jawapan_b'];?>" name="pilihan" id="boxpilihan-2"/>
<label class="boxpilihan-2" for="boxpilihan-2"><?php echo $soalan['jawapan_b'];?></label>
</br>
<br>
<input type="radio" value="<?php echo $soalan['jawapan_c'];?>" name="pilihan" id="boxpilihan-3"/>
<label class="boxpilihan-3" for="boxpilihan-3" ><?php echo $soalan['jawapan_c'];?></label>
<div>
<input type="radio" value="<?php echo $soalan['jawapan_d'];?>" name="pilihan" id="boxpilihan-4"/>
<label class="boxpilihan-4" for="boxpilihan-4"><?php echo $soalan['jawapan_d'];?></label>
</div>
</br>
<button type="submit" form="form1" value="Pilih" disabled="disabled" class="pilihbutton" ="pilihan">Pilih</button>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.