【问题标题】:How to submit a form when a checkbox is checked?选中复选框时如何提交表单?
【发布时间】:2014-04-04 02:54:10
【问题描述】:

我只想在选中复选框时提交表单,或者显示“请选中复选框”,有什么办法吗?谁能指导我?

谢谢

<form  name="myForm" action="mailsent.php" method="post">

<input type="checkbox" class="chk_row" name="chk1[]"" value=" '.$rows["id"].'"/>

<input type="submit" value=""  style="margin:7px 26px -27px 1424px;background-image: url(/image/exporttt.png);background-repeat: no-repeat;cursor:pointer;" >

</form>

修改后的代码:

<form  name="myForm" action="mailsent.php" method="post">

    <input type="checkbox" class="chk_row" id="chk1" name="chk1[]"" value=" '.$rows["id"].'"/>

    <input type="submit" value=""  style="margin:7px 26px -27px 1424px;background-image: url(/image/exporttt.png);background-repeat: no-repeat;cursor:pointer;" >

    </form>

<script>

$('form').submit(function(){
  if(!$('#chk1').is(':checked')){
      alert("Please Check ");
      return false;
  }
});
</script>

【问题讨论】:

  • 你应该先自己尝试一下。
  • 我认为你的问题标题是错误的。我读了它,因为当您单击复选框时应该提交表单。
  • 当我选中复选框并单击提交按钮时,不应提交任何表单,如果我在未选中复选框的情况下提交按钮,我不想提交表单
  • 有没有可能有多个复选框?

标签: javascript jquery ajax checkbox


【解决方案1】:

使用 JQuery
您应该为您的复选框提供唯一 ID

$('form').submit(function(){
 var flag=0;
  $('.chk_row').each(function(){
     if(($(this).is(':checked'))){
      flag=1
      return false;
     }
   });
  if(flag==0){
    alert("Please Check Checkbox");
    return false
  }
});

您的 your_checkboxId 是您在输入 chekcbox 中提供的 id 例如。

<input type="checkbox" id="your_checkboxId" name="chk_name" value="some" / >

【讨论】:

  • 当我选中复选框并单击提交按钮时,表单应该提交,如果我在未选中复选框的情况下提交按钮,我不想提交表单
  • 通过此代码,我没有提交您的表单请检查,并且您必须通过 为您的复选框@arok 提供唯一的 ID
  • 如果我选中复选框并单击提交按钮我想要提交表单我想要什么,我没有选中复选框我不想提交
  • 复选框 id 不应像 chk1[] 那样使用,我已更改为 chk1 @arok
  • 但如果复选框被选中,则表单未提交
【解决方案2】:

您可以使用 jquery 进行验证,为您的提交按钮提供 id 'submit',然后使用此代码

$('#submit').click(function(e){
   e.preventDefault();
   if( $("[name='chk1[]']").is( ':checked')){
      return true;
   } else {
     // your custom code here
      return false;
    }
})

【讨论】:

    【解决方案3】:

    试试这个

    $("#submit").click(function(e)
        {
        if($("#check").is(':checked'))
        {
            $("#form").prop("action","mailsent.php");
        }else
        {
        e.preventDefault();
        }
        });
    

    而且你不需要在表单标签中指定动作。 #form 是表单的 id,#check 是复选框的 id。

    【讨论】:

      【解决方案4】:

      假设这里只有一个复选框,我使用类名选择它。您可以根据实现修改选择器以选择所需的选择器。

      $(document).ready(function(){
      $('.chk_row').change(function(e){
      if($(this).attr('checked') === 'checked')
      {
      $('form[name="myForm"]').submit();
      }
      });
      });
      

      【讨论】:

        猜你喜欢
        • 2012-05-23
        • 2021-09-22
        • 2013-01-21
        • 2016-03-30
        • 1970-01-01
        • 1970-01-01
        • 2011-02-26
        相关资源
        最近更新 更多