对不起英语语法,不是我的母语。
我想仅在选中复选框时才显示文本框。所以,我有这个代码:
HTML
<table>
<tr>
<td>
<input type = "checkbox" id="NCFtxt" onclick="obtenerNCF()"> Marcar casilla para generar Comprobante Fiscal
</td>
</tr>
<tr>
<td>
NCF: <input readonly="readonly" name= "txtNCF" type= "text" id= "txtNCF" value= "<?php echo $cobro->ncf; echo $ncf; ?>" />
</td>
</tr>
</table>
JAVASCRIPT
<script language="javascript">
$("#txtNCF").hide();
function obtenerNCF() {
var chequear = document.getElementById("NCFtxt");
if (chequear.checked == true){
$("#txtNCF").show();
} else {
$("#txtNCF").hide();
}
}
</script>
因此,这是&#34; working&#34;,在选中复选框时隐藏字段,但仍然将数据保存在数据库中。我怎么能不仅隐藏字段,而且既不保存在数据库中?我尝试了一些但没有工作的东西,这看起来很简单,但让我感到困惑
答案 0 :(得分:1)
如果您不想根据复选框保存某些内容...如果复选框有值,请查看$ _POST(如果没有,则不检查)。然后保存或不保存额外的数据。
给复选框命名和值:
<input type="checkbox" name="NCFtxt_checkbox" value="1" id="NCFtxt" onclick="obtenerNCF()">
在PHP中寻找它:
if ( empty($_POST['NCFtxt_checkbox']) ) {
// dont save extra data
} else {
// else do save the extra data
}
第二个解决方案是使用大量的javascript,当复选框被UN检查时,在隐藏它时清除其他文本框的内容。这样就可以提交&#39; emtpy&#39;开头。