php
  • javascript
  • 2009-10-07 49 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要麼=「檢查」或「」,以確定複選框是否被選中。

    相關問題