簡體   English   中英

Ajax刪除我的JavaScript所做的任何更改

[英]Ajax removes any changes made my javascript

我使用ajax導致OnTextChangedEvent發生,這之前有一些Javascript會對輸入字段進行檢查以進行驗證,並根據其是否有效輸出一些文本。 我運行的Ajax重置了我的JavaScript所做的更改。 一切按此順序進行:

Javascript觸發!

文字變更顯示

阿賈克斯開火!

文字變更重設

Ajax部分自動回發包含在更新面板中。 在不提供任何代碼的情況下,是否有人想出一種方法來阻止javascript更改重置?

白天,我會在發現時間的同時添加代碼。 以為我至少會提這個問題。 提前致謝。

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

解決方案是將驗證文本傳輸到服務器,然后通過ajax再次添加它們。

UpdatePanel完全替換更新中更新面板的內容
這意味着您訂閱的那些事件不再被訂閱,因為該更新面板中有新的元素。
完整答案在這里

在您的Page或MasterPage中,放入以下腳本

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM