php
  • javascript
  • 2009-10-07 42 views 0 likes 
    0

    目的是有一个复选框,如果点击,将发送通过帖子,我会更新数据库。用户可以来回检查以设置或取消设置活动状态。复选框onChange提交问题,如果选中

    这完美的作品:

    <form name='form".$value['id']."' action='./filter_edit.php' method='post'><input type='checkbox' name='checkbox[".$value['id']."]' value='".$newActive."' onclick='document.form".$value['id'].".submit();' /></form> 
    

    但是,使用上面的代码,这个盒子永远不会出现检查。

    使用下面的代码,一旦该字段设置为活动状态,将在该框中进行检查,单击以取消选中该框确实提交但不发送后期变量。

    <form name='form".$value['id']."' action='./filter_edit.php' method='post'><input type='checkbox' name='checkbox[".$value['id']."]' value='".$newActive."'"; 
         if($value['active'] == 1) 
          echo " checked='checked'"; 
         echo" onclick='document.form".$value['id'].".submit();' /></form> 
    

    回答

    1

    找到了解决我的问题的方法。基本上,不使用复选框来传递变量,我只使用复选框来显示(被检查与否),然后使用隐藏字段来传递值。

    1

    我猜问题是,在之前处理Javascript是,项目本身是'点击'(如果有意义的话):也就是说,表单在复选框被实际检查之前提交。

    如果您在运行提交之前将复选框标记为从Javascript内部进行检查,那么我会猜测这会起作用。

    2

    未选中的复选框在发布参数中不发送任何内容。

    您必须在服务器上执行该逻辑:检查post变量,如果它不在那里,那么您知道它是未选中的。

    0

    变化: : 值='” $ newActive。 “”

    只是” $ newActive。“

    我假设$ newActive要么=“检查”或“”,以确定复选框是否被选中。

    相关问题