2013-07-09 141 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); 
    }); 
});