比较表单提交时复选框选中的状态与页面加载状态



我在页面和表单提交中有多个复选框,我不希望发送所有这些复选框进行处理,只希望发送那些状态与页面加载状态不同的复选框。

例如,在页面加载时,复选框的原始状态已被选中。

然后用户点击同一复选框3次,然后点击提交按钮:

  • 第一次单击-状态更改为未选中
  • 第二次点击-状态更改为已检查
  • 第三次单击-状态更改为未选中

那么,有没有一种方法可以将第三次点击状态与页面加载状态进行比较?在这种情况下,我想发送复选框数据,因为它的状态已经更改。另一方面,如果用户单击两次,我不想发送它进行处理,因为在页面加载过程中,它的状态已经恢复到原来的状态。

提交html表单时,所有复选框都将提交,除非它们具有"disabled"属性。

一种策略可能是添加一个包含复选框值的隐藏字段,并在Submit上将这两个字段相互检查,如果它们包含相同的值,则禁用复选框。

在这种情况下,您可以尝试以下操作:

$(document).ready(function(){
   // get check box state at the time of page load
   if($('#chk1').is(':checked'))
   {
       var chkState1 = true;
   }
   else
   {
       var chkState1 = false;
   }
   $('#chk1').change(function(){
       // get new state of this check box and compare it with the old one. If its state is diff than put it in the ajax call otherwise not
   });
});

相关内容

  • 没有找到相关文章

最新更新