2011-10-10 39 views
0

使用ajax我在這種情況發生之前導致OnTextChangedEvent有一些Javascript對輸入字段進行驗證檢查並根據驗證是否有效輸出一些文本。我運行的Ajax重置了我的javascript所做的更改。這一切都發生在這個順序:Ajax刪除所做的任何更改我的javascript

Javascript fires!

文本變化表明

阿賈克斯火災!

文本的變化復位

AJAX的部分自動回發包含在更新面板。沒有提供任何代碼是否有人有一種方法來阻止javascript更改重置的想法?

在這一天我會添加代碼,因爲我發現時間。以爲我會至少得到這個問題。先謝謝了。

+0

哪管你是使用顯示驗證結果的文本? –

+0

你有沒有試過我的解決方案?它火了! –

回答

1

文本更改是在DOM模型中進行的,不會傳輸到服務器。 如果ajax觸發它將覆蓋由javascript所做的DOM更改。

解決方案是將驗證文本發送到服務器並通過ajax再次添加它們。

+0

這是有道理的,會給它一個去!謝謝。 – Anicho

+0

您的解決方案有效。但是我最終把所有的Ajax變更都推到了jscript中,稍微花了一些時間,但是覺得這是對我所做的更好的練習。 – Anicho

0

一種UpdatePanel的完全取代上 更新更新面板的內容。
這意味着您訂閱的那些事件不是 更長的訂閱,因爲該更新面板中有新元素。
完整的答案here

在你的頁面或母版頁,就把下面的腳本

<script type="text/javascript"> 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 

    function EndRequestHandler(sender, args) 
    { 
    Validate(); //method that performs check on input field 
    } 
</script> 
+0

耶對不起夥伴,似乎沒有爲我工作:(當我在今天或本週後得到片刻,我會給它另一個:)。 – Anicho

+0

我很樂意幫助你.. –

相關問題