gpt4 book ai didi

javascript - 使用 Javascript 验证多项选择单选按钮

转载 作者:行者123 更新时间:2023-11-28 07:22:32 25 4
gpt4 key购买 nike

如果未从该单选组中检查答案(单选按钮),我想阻止提交表单(id="new_question")。

<input class="radioclass" id="q1a" value="a" name="question[q1correct]" type="radio">
<input class="radioclass" id="q1b" value="b" name="question[q1correct]" type="radio">
<input class="radioclass" id="q1c" value="c" name="question[q1correct]" type="radio">
<input class="radioclass" id="q1d" value="d" name="question[q1correct]" type="radio">
<input id="publishbtn" class="greenbtn" type="submit" value="PUBLISH" name="commit"></input>

有 10 个单选组(具有与上面相同的 html)需要检查一个答案。
表单 ID 为“new_question”

因此需要帮助进行验证,除非检查所有答案,否则不允许提交表单。

到目前为止我所拥有的:

validateForm = function() {
x = document.forms['new_question']['question[q1correct]'].value;
if (x === null || x === '') {
alert('Name must be filled out');
return false;
}
};

我确实需要为其余 10 个 radio 组执行此操作,但我想一旦我知道如何在其中一个 radio 组上执行此操作,我就可以在所有 radio 组上实现代码。

最佳答案

假设是那种 html:

<form id="foo">
<div class='selectGroup'>
<input class="radioclass" id="q1a" value="a" name="question[q1correct]" type="radio">1</input>
<input class="radioclass" id="q1b" value="b" name="question[q1correct]" type="radio">2</input>
<input class="radioclass" id="q1c" value="c" name="question[q1correct]" type="radio">3</input>
<input class="radioclass" id="q1d" value="d" name="question[q1correct]" type="radio">4</input>

</div>

<div class='selectGroup'>
<input class="radioclass" id="q2a" value="a" name="question[q2correct]" type="radio">1</input>
<input class="radioclass" id="q2b" value="b" name="question[q2correct]" type="radio">2</input>
<input class="radioclass" id="q2c" value="c" name="question[q2correct]" type="radio">3</input>
<input class="radioclass" id="q2d" value="d" name="question[q2correct]" type="radio">4</input>

</div>

<input id="publishbtn" class="greenbtn" type="submit" value="PUBLISH" name="commit">

</input>
</form>

你可能会使用以下js

$('#foo').submit(function(e) { 
e.preventDefault();

var $form = $(e.currentTarget)
var groupsValidationList = []

selectGroups = $form.children('.selectGroup')

selectGroups.each(function(index, group) {
$group = $(group);

checks = $group.children('.radioclass').map(function(index, radioItem) {

return $(radioItem).is(':checked')
})
isValid = ($.inArray(true, checks) != -1);

groupsValidationList.push(isValid);
})

if(groupsValidationList.every(function(validationResult) { return validationResult; })) {
alert('ok');
} else {
alert('at least one group is not marked');
}


})

https://jsfiddle.net/4qwvgqkz/

关于javascript - 使用 Javascript 验证多项选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com