gpt4 book ai didi

javascript - 验证具有数组作为名称参数的复选框

转载 作者:行者123 更新时间:2023-12-02 18:36:40 26 4
gpt4 key购买 nike

我曾经使用如下代码验证复选框表单:

<div>
<form action="survey.php" method="post" name="survey">
<span class="form"><input type="checkbox" name="event1" onClick="return countMarketing()">Event1</span>
<span class"form"><input type="checkbox" name="event2" onClick="return countMarketing()">Event2</span>
<span class"form"><input type="checkbox" name="event3" onClick="return countMarketing()">Event2</span>
<!-- other forms -->
</form>
</div>

还有一个类似这样的 JavaScript 验证(以限制选中的复选框的数量):

function countMarketing() {

var NewCountMarketing = 0

if (document.survey.event1.checked)
{NewCountMarketing = NewCountMarketing + 1}

if (document.survey.event2.checked)
{NewCountMarketing = NewCountMarketing + 1}

if (document.survey.event3.checked)
{NewCountMarketing = NewCountMarketing + 1}
if (NewCountMarketing == 3)
{
alert('Please choose only two')
document.survey; return false;
}
}

像这样的验证是有效的。但是现在,假设我使用 php 来提交,我如何在 JS 中检查表单的名称是否是这样的:

 <input type="checkbox" name="events[]" id="event1" onClick="return countMarketing()">Event1

我尝试将 JS 更改为:

if (document.survey.events[].checked)
{code here}

if (document.survey.getElementByName('events[]').checked)
{code here}

if (document.survey.getElementById('event1').checked)
{code here}

但是它不起作用..任何人都可以告诉我这件事吗?非常感谢:)

最佳答案

如果您实际上正在使用 jQuery,您可以这样做:

确保在使用此函数之前在文档中包含 jQuery,并且在尝试运行该函数之前已加载文档。

function countMarketing() {

if( $('input[name="events[]"]').filter(':checked').length > 2 ) {
alert('Please choose only two');
}

}

关于javascript - 验证具有数组作为名称参数的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255874/

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