2013-07-09 140 views
3

我试图隐藏我的表单后,我的提交按钮已被按下使用Jquery。隐藏表单提交

到目前为止,我已经导入了Jquery库。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 

试图尝试使用类“窗体字段”来隐藏窗体。这个类包含整个表单。

试图掩盖这样的:

<?php if (isset($_POST['process']) && ($_POST['process'] == 1)): ?> 
<script type="text/Javascript"> 
    $('#form-fields').hide(); 
</script> 

这似乎并不奏效。任何帮助,将不胜感激。

+1

你的意思是类的形式字段“,或ID '形式字段'?如果你真的指的是类,它应该是'$('。form-fields')。hide()' –

+0

如果你打算使用PHP,为什么你不要渲染它,或者如果你需要取消隐藏之后,添加一个可以使用javascript删除的类。 – kalley

+1

有些怪异的原因,为什么这不起作用。请张贴更多的代码,我们可能会将其中一个关闭。 – 2013-07-09 02:57:09

回答

4

您需要使用提交事件处理程序来隐藏窗体和需要,因为它在服务器端

下面是什么情况,我们注册了一个事件处理程序将被调用运行,以去除PHP条件<?php if (isset($_POST['process']) && ($_POST['process'] == 1)): ?>当提交表单时,和内部的形式隐藏

<script type="text/Javascript"> 
    $('#form-fields').submit(function(){ 
     $(this).hide(); 
    }) 
</script> 
0

如果表单点击提交按钮后发送到用户的相同页面,它可能是最容易做的PHP隐藏。在你的文件的顶部添加这个地方:

<?php $submitPressed = isset($_POST['process'] && $_POST['process'] == 1; ?> 

然后你可以换你想在下面的标签来掩饰什么:

<?php if (!$submitPressed): ?> 
<!-- form goes here --> 
<?php endif; ?> 

注意,这样只会隐藏表单一旦服务器已通知;按提交后可能会有一点点延迟。

否则,你会想使用绑定到提交事件的一些jQuery。

0
$('form-fields').submit(function(){ 
    var $this = $(this); // so we can use in ajax callback 
    $.ajax({ 
     url: '/', 
     data: $(this).serialize(), 
     success: function(data){ 
      if(data == true){ 
       $this.hide(); //hide form if we got a true to return 
      } 
     } 
    }); 
    return false; //stop default form submit 
}); 

同一页...

<?php 
if(isset($_POST['process']) && ($_POST['process'] == 1)): 
    // do whatever processing 
    return true; //at the end so we can compare in ajax 
endif;  
?> 
+0

是不是数据==真的多余?我想'如果(数据){...}'会工作得很好。 –

+0

另外,向sumbit回调添加一个事件参数,并且如果您希望事件传播,则调用'event.preventDefault()'而不是'return false'。请参阅:http://css-tricks.com/return-false-and-prevent-default/ –

0
You can add the css property of that element to hidden on click.. 


$(function(){ 
$('form-fields').submit(function(){ 
    $(this).css("visibility", hidden); 
    }); 
});