Javascript 必须勾选最后三个复选框才能提交
下面是我的php表单中的复选框列表。我需要写一个脚本,其中只有最后三个复选框必须被选中的表单才能成功提交。我看了其他类似的问题,但似乎找不到我真正想要的,我很难写剧本Javascript 必须勾选最后三个复选框才能提交,javascript,php,Javascript,Php,下面是我的php表单中的复选框列表。我需要写一个脚本,其中只有最后三个复选框必须被选中的表单才能成功提交。我看了其他类似的问题,但似乎找不到我真正想要的,我很难写剧本 <input type="checkbox" name="checkbox" value="Send email request">Would you like to receive weekly new via email?<br> <input type="checkbox" name="chec
<input type="checkbox" name="checkbox" value="Send email request">Would you like to receive weekly new via email?<br>
<input type="checkbox" name="checkbox" value="Agree to T&C">I agree to the Terms and Conditions<br>
<input type="checkbox" name="checkbox" value="No Criminal Records">I have no criminal associations<br>
<input type="checkbox" name="checkbox" value="No Business with any other company">I have no personal or business relationship with any other company<br>
您想通过电子邮件接收每周新邮件吗?
我同意条款和条件
我没有犯罪团伙
我与任何其他公司没有个人或业务关系
您不需要使用任何JavaScript
只需向输入元素添加required
属性即可
<input type="checkbox" required="required" name="checkbox" value="Send email request">Would you like to receive weekly new via email?<br>
您想通过电子邮件接收每周新邮件吗?
请查看此处以了解更多信息:
如果需要自定义消息或响应,则需要使用JavaScript来处理。您不需要使用任何JavaScript 只需向输入元素添加
required
属性即可
<input type="checkbox" required="required" name="checkbox" value="Send email request">Would you like to receive weekly new via email?<br>
您想通过电子邮件接收每周新邮件吗?
请查看此处以了解更多信息:
如果您想要自定义消息或响应,则需要使用JavaScript来处理此问题。或者,您可以使用jQuery检查最后3个复选框是否在提交之前被选中(必需)。考虑这个例子:
<form method="POST" action="index.php" id="form">
<input type="checkbox" name="checkbox[]" value="Send email request">Would you like to receive weekly new via email?<br>
<input type="checkbox" name="checkbox[]" value="Agree to T&C">I agree to the Terms and Conditions<br>
<input type="checkbox" name="checkbox[]" value="No Criminal Records">I have no criminal associations<br>
<input type="checkbox" name="checkbox[]" value="No Business with any other company">I have no personal or business relationship with any other company<br>
<input type="submit" name="submit" />
</form>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#form').submit(function(e){
var count = 0;
var required_indeces = [1,2,3];
$('input[type=checkbox]').each(function(index, element){
if($.inArray(index, required_indeces) !== -1 && $(this).is(':checked')) {
count++;
}
});
if(count < 3) {
e.preventDefault();
}
});
});
</script>
您想通过电子邮件接收每周新邮件吗?
我同意条款和条件
我没有犯罪团伙
我与任何其他公司没有个人或业务关系
$(文档).ready(函数(){
$('表格')。提交(功能(e){
var计数=0;
所需var_指数=[1,2,3];
$('input[type=checkbox]')。每个(函数(索引,元素){
如果($.inArray(索引,必需的索引)!=-1&&$(此).is(':checked')){
计数++;
}
});
如果(计数<3){
e、 预防默认值();
}
});
});
或者,您可以使用jQuery检查最后3个复选框是否确实在提交前被选中(必需)。考虑这个例子:
<form method="POST" action="index.php" id="form">
<input type="checkbox" name="checkbox[]" value="Send email request">Would you like to receive weekly new via email?<br>
<input type="checkbox" name="checkbox[]" value="Agree to T&C">I agree to the Terms and Conditions<br>
<input type="checkbox" name="checkbox[]" value="No Criminal Records">I have no criminal associations<br>
<input type="checkbox" name="checkbox[]" value="No Business with any other company">I have no personal or business relationship with any other company<br>
<input type="submit" name="submit" />
</form>
<script src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#form').submit(function(e){
var count = 0;
var required_indeces = [1,2,3];
$('input[type=checkbox]').each(function(index, element){
if($.inArray(index, required_indeces) !== -1 && $(this).is(':checked')) {
count++;
}
});
if(count < 3) {
e.preventDefault();
}
});
});
</script>
您想通过电子邮件接收每周新邮件吗?
我同意条款和条件
我没有犯罪团伙
我与任何其他公司没有个人或业务关系
$(文档).ready(函数(){
$('表格')。提交(功能(e){
var计数=0;
所需var_指数=[1,2,3];
$('input[type=checkbox]')。每个(函数(索引,元素){
如果($.inArray(索引,必需的索引)!=-1&&$(此).is(':checked')){
计数++;
}
});
如果(计数<3){
e、 预防默认值();
}
});
});
复选框需要有不同的名称。使用相同的名称意味着您只存储最后一个复选框的值。尝试以下两个选项之一(适用于PHP):
或:
<input type="checkbox" name="checkbox1" value="Send email request">Would you like to receive weekly new via email?<br>
<input type="checkbox" name="checkbox2" value="Agree to T&C">I agree to the Terms and Conditions<br>
<input type="checkbox" name="checkbox3" value="No Criminal Records">I have no criminal associations<br>
<input type="checkbox" name="checkbox4" value="No Business with any other company">I have no personal or business relationship with any other company<br>
复选框需要有不同的名称。使用相同的名称意味着您只存储最后一个复选框的值。尝试以下两个选项之一(适用于PHP): 或:
<input type="checkbox" name="checkbox1" value="Send email request">Would you like to receive weekly new via email?<br>
<input type="checkbox" name="checkbox2" value="Agree to T&C">I agree to the Terms and Conditions<br>
<input type="checkbox" name="checkbox3" value="No Criminal Records">I have no criminal associations<br>
<input type="checkbox" name="checkbox4" value="No Business with any other company">I have no personal or business relationship with any other company<br>
如果使用jquery未选中submit按钮,则可以禁用它们。如果使用jquery未选中submit按钮,则可以禁用它们。在这种情况下,这究竟有何用处?有4个输入,必须选择其中的3个才能继续。添加
required
属性意味着必须选中该属性才能继续。因此,对于4个输入,您建议如何使用此属性任意选择其中的3个?“我需要编写一个脚本,其中只有最后三个复选框必须选中才能成功提交表单”我认为必须选中最后三个输入才能提交表单。我不认为这是任意选择,而是全部,除非我误解了他的问题。但是有了最后三个输入的数据,它们似乎都是必需的:-)哦,天哪。不,不是你误读了这个问题——是我<代码>SamP.rep++代码>@SamP我不知道这么简单。是否可以在服务器端检查此“必需”属性?(很抱歉,我可能忘了提到这一点)。在表单POST data中,只需检查复选框值是否为true。如果他们没有,拒绝这个帖子。在这种情况下,这到底有什么用处?有4个输入,必须选择其中的3个才能继续。添加required
属性意味着必须选中该属性才能继续。因此,对于4个输入,您建议如何使用此属性任意选择其中的3个?“我需要编写一个脚本,其中只有最后三个复选框必须选中才能成功提交表单”我认为必须选中最后三个输入才能提交表单。我不认为这是任意选择,而是全部,除非我误解了他的问题。但是有了最后三个输入的数据,它们似乎都是必需的:-)哦,天哪。不,不是你误读了这个问题——是我<代码>SamP.rep++代码>@SamP我不知道这么简单。是否可以在服务器端检查此“必需”属性?(很抱歉,我可能忘了提到这一点)。在表单POST data中,只需检查复选框值是否为true。如果他们不是,拒绝该帖子。