我需要一些幫助我是jQuery的新手,我正在嘗試使用.change功能。所以我想要做的就是檢查一下表單中是否有值發生變化。我的應用程序有幾個母版頁,更新面板等。 (ASP.net)所以我使用的是母版頁下面的代碼:頁面刷新後jquery.change功能失敗
<asp:HiddenField ID="_Changed" runat="server" Value="false" />
<script>
$(":input").change(function() {
document.getElementById('_Changed').value = "true";
alert("Change occured");
return false;
});
</script>
這適用於所有形式的幾倍,但一個形式,我真的想使用它,它只能使用一次。這種形式是唯一一個與隱藏領域交互的人。該頁面的代碼是:
<script>
function Home_Click() {
var boolRetVal = false;
if (document.getElementById('_Changed').value == "true") {
if (confirm("You have unsaved data do you wish to proceed?")) {
boolRetVal = true;
document.getElementById('_Changed').value = "false";
}
} else {
boolRetVal = true;
document.getElementById('_Changed').value = "false";
}
return boolRetVal;
}
</script>
<asp:Button ID="btnHome" runat="server" Text="Home" OnClientClick="return Home_Click()"
OnClick="btnHome_Click" CausesValidation="false" />
所以,當有人點擊home鍵和他們點擊ok確認提示和屏幕重新加載.change查詢永遠不會再運行。我沒有收到任何JavaScript錯誤,只是再也沒有運行。
我們可以說[有人點擊主頁按鈕,點擊確認提示並重新加載屏幕]。如果點擊一個鏈接,你的意思是重新加載,或者如果Ajax更改頁面的關鍵部分,則重新加載? – plauriola 2011-12-20 20:32:52
您是否使用UpdatePanel刷新UI?還是回發完整回發? – 2011-12-20 20:38:56