禁用表单提交,直到选中(两个)复选框

我们有一个表格,在表格之前我们有两个复选框。

  1. 隐私
  2. 条款和条件。

我想做的是(无法通过复选框validation)是禁用提交按钮,直到两个复选框都被选中。

这些的HTML是:

  

用于validation这些的js(虽然不起作用)

 if(terms == "") $('#terms').css({"outline-color":"#F12B63"}); if(privacy == "") $('#privacy').css({"outline-color":"#F12B63"}); 

杰西有一个很好的解决方案。 对于一个更简洁的解决方案,避免重复(你知道,如果有人发疯并决定添加更多复选框),你可以这样做:

 $(function() { $('input.required').click(function() { var unchecked = $('input.required:not(:checked)').length; if (unchecked == 0) { $('#submitBtn').removeAttr('disabled'); } else { $('#submitBtn').attr('disabled', 'disabled'); } }); }); 

试试这个:

HTML

   

使用Javascript

 $(document).ready(function(){ $('input[type="submit"]').attr('disabled','disabled'); $("#privacy").click( function(){ if( $(this).is(':checked') && $("#terms").is(':checked') ) { $('input[type="submit"]').removeAttr('disabled'); } else { $('input[type="submit"]').attr('disabled','disabled'); } }); $("#terms").click( function(){ if( $(this).is(':checked') && $("#privacy").is(':checked') ) { $('input[type="submit"]').removeAttr('disabled'); } else { $('input[type="submit"]').attr('disabled','disabled'); } }); }); 

我不能保证它是完美的,但我很确定它应该工作 – 如果没有,它肯定会让你走上正轨。

希望这可以帮助!

编辑:

对于用户的特定按钮:

   $(document).ready(function(){ $("#privacy").click( function(){ if( $(this).is(':checked') && $("#terms").is(':checked') ) { $('#buttonsend').removeAttr('disabled'); } else { $('#buttonsend').attr('disabled','disabled'); } }); $("#terms").click( function(){ if( $(this).is(':checked') && $("#privacy").is(':checked') ) { $('#buttonsend').removeAttr('disabled'); } else { $('#buttonsend').attr('disabled','disabled'); } }); });