3

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

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

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

试图尝试使用“form-fields”类隐藏表单。这个类包含整个表格。

试图像这样隐藏它:

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

这似乎不起作用。任何帮助,将不胜感激。

4

4 回答 4

4

您需要使用提交事件处理程序隐藏表单,并且需要删除 PHP 条件<?php if (isset($_POST['process']) && ($_POST['process'] == 1)): ?>,因为它在服务器端运行

下面发生的事情是,我们注册了一个事件处理程序,该处理程序将在提交表单时被调用,并且在其中隐藏了表单

<script type="text/Javascript">
    $('#form-fields').submit(function(){
        $(this).hide(); 
    })
</script>
于 2013-07-09T03:01:53.387 回答
0
You can add the css property of that element to hidden on click..


$(function(){
 $('form-fields').submit(function(){
     $(this).css("visibility", hidden);
  });
});
于 2013-07-09T06:23:03.740 回答
0

如果表单在单击提交后将用户发送到同一页面,则使用 php.ini 进行隐藏可能是最简单的。在文件顶部的某处添加:

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

然后,您可以将要隐藏的任何内容包装在以下标签中:

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

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

否则,您将需要使用一些绑定到提交事件的 jQuery。

于 2013-07-09T03:02:16.070 回答
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;     
?>
于 2013-07-09T03:19:09.193 回答