1

你好我有一些问题。

我希望它默认被选中,如果你取消选择它并按提交我希望它被取消选中

<input type="checkbox" name="show_signature" value="1"<?php echo isset($_POST['show_signature'])) ? ' checked=""' : '' ?>>

这很好用取消选中>提交和复选框未选中,如果您选中它并发送表单,它会保持选中状态。

但是,我希望默认检查它。这不应该工作吗?

if (isset($_POST['show_signature'])) {
    echo ' checked=""';
} else {
    echo '';
}

试过这个

if (isset($_POST['show_signature']) || !isset($_POST['show_signature'])) {
    echo ' checked=""';
} else {
    echo '';
}
4

1 回答 1

1

好的; 从问题中,我得到了这个过程
当页面第一次加载时,你希望复选框被选中。
页面提交时,如果复选框未选中,则让它保持未选中状态;否则,让它检查。
尝试

 
  /*making the assumption that the submission process starts when a submit button 
   with name **submit** is present, use this

*/ 
 if (isset($_POST["submit"])){
    value = '<input type="checkbox" name="show_signature"'; 
    value .= (isset($_POST["show_signature"]))? 'checked="checked"': "";
    value .= ' />';
    print value;
 }
else{ //when the page is initially loaded
 print '<input type="checkbox" name="show_signature" checked="checked" />';
} 

 

帖子取决于提交按钮(或任何其他字段)t 的原因是因为如果用户取消选中该框,将找不到 $_POST["show_signature"] 变量,并且根本不会处理表单。那应该可以解决问题。

希望解释清楚,这会有所帮助。

于 2013-07-24T21:55:13.623 回答