2012-06-15 41 views
0

我有一個包含選擇框,無線電區域和文本框的10個表單的頁面。它接受參數,查詢數據庫並在同一頁面上打印結果。 我也在同一頁面上使用$ _POST ['']來保存表單值,而不會丟失它。.click()函數在同一頁面上提交表單後停止工作

我有很多方法使用.click函數在這個頁面中。他們在第一次提交之前都能正常工作。在第一次提交所有參數後,.click函數停止工作。沒有任何與.click功能的jQuery代碼工作。

這是否與服務器在同一頁面上返回信息有什麼關係,或者與使用$ _POST ['']保持表單信息的方式有關?

這是一段使用.click函數的代碼。

<!-- Clear form data after form submission --> 
<script language="Javascript"> 
function resetForm($form) { 
    alert("resetting form"); 
    $form.find('input:text, input:password, input:file, select, textarea').val(''); 
    $form.find('input:radio, input:checkbox') 
    .removeAttr('checked').removeAttr('selected'); 
} 
</script> 

<script language="Javascript"> 
$(document).ready(function() { 
$("#clear_form").click(function(){ 
    alert("clear form button clicked"); 
    resetForm($('#search_query')); 
    }); 
}); 
</script> 

表單以下列方式提交。

<form method="POST" action="samepage.php" name="form1" id="formid" onsubmit="return validate_Form()"> 
# Bunch of text fields, select boxes, radio buttons, 

<input type="submit" value="Submit" id="submit"> 

在頁面的最開始,我收集表單數據以在提交後自動填寫表單字段以保留表單數據。

$x = $_POST['x']; 

如果表單提交是succesfull(.IE通過所有形式驗證)我再次收集數據來查詢數據庫,並在同一頁上打印結果。

$xx = $_POST['x] 

我有一個自定義的驗證函數,我寫了基本上只是檢查如果字段爲空或沒有,沒有什麼幻想。它的設置必須至少輸入一個字段才能將表單提交給服務器。

+0

沒有看到你的代碼很多建議是檢查'.on' http://api.jquery.com/on/ – Loktar

+2

'language'屬性已被棄用。刪除它並用'type =「text/javascript」'替換它(可選,它是默認的)。如果你正在使用合理的現代jQuery版本,也用'.prop('checked',false).prop('selected',false)替換掉那些removeAttr調用' – ThiefMaster

+0

你在使用AJAX嗎?你使用「輸入類型='提交'」? –

回答

1

經過對這個問題的研究,我終於找到了解決方案。

$('#buttonid').live('click', function() { 

#Your code here 

}); 

我仍然需要明白爲什麼會發生這種情況。當我找到問題的根本原因時,我會重新編輯答案。

相關問題