繁体   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