如何不执行隐藏的表单

时间:2014-03-25 09:55:20

标签: javascript php html sql

<script> 
$(document).ready(function(){
  $("#hdcChoose").click(function(){
    $("#hdcNumber").toggle();
    $("#hdcNumber2").hide();
  });
});
$(document).ready(function(){
  $("#hdcWrite").click(function(){
    $("#hdcNumber").hide();
    $("#hdcNumber2").toggle();
  });
});
</script>

&#34; hdcWrite&#34;和&#34; hdcChoose&#34;是我的字段,用户可以显示或隐藏。两者都包含我的SQL查询所需的数字。以下是我的SQL WHERE语句:

WHERE HDC.NAME ='$hdcChoose'
OR HDC.NAME = '$hdcWrite'");

问题是,当隐藏第一个字段并且它不为空时,它在我的SQL查询中首先执行。 任何想法我怎么能避免这种情况?那有什么有用的功能吗?

3 个答案:

答案 0 :(得分:2)

最佳解决方案是将所需值设置为&#34;&#34;单击表单时。这很简单:

$("#hdcNumber").val("");

答案 1 :(得分:1)

当用户点击&#34; hdcWrite&#34;时,您可以添加一个由良好值填充的<input type="hidden" id="hdc">。或&#34; hdcChoose&#34;和SQL使用此值。

我想到这样的事情:

<input type="hidden" id="hdc">
<script> 
$(document).ready(function(){
  $("#hdcChoose").click(function(){
    $("#hdcNumber").toggle();
    $("#hdcNumber2").hide();
    $("#hdc").val($("#hdcNumber").val()); // or $("#hdc").val("hdcNumber");
  });
});
$(document).ready(function(){
  $("#hdcWrite").click(function(){
    $("#hdcNumber").hide();
    $("#hdcNumber2").toggle();
    $("#hdc").val($("#hdcNumber2").val()); // or $("#hdc").val("hdcNumber2");
  });
});
</script>

并且SQL将恢复&#34; hdc&#34;的值。喜欢的东西:

WHERE HDC.NAME ='$hdc'

答案 2 :(得分:1)

如果字段被隐藏并且清空值,您可以检查提交:

if($('#hdcChoose').css('display') == 'none')) {
   $('#hdcChoose').val("");
}