Ajax删除了对javascript所做的任何更改

Ajax removes any changes made my javascript

本文关键字:任何更 javascript 删除 Ajax      更新时间:2023-09-26

使用ajax,我引起了OnTextChangedEvent之前发生的事情,有一些Javascript执行检查输入字段的验证和输出一些文本基于它是否有效。我运行的Ajax将重置javascript所做的更改。这一切都按照这个顺序发生:

Javascript火灾!

文本更改显示

Ajax火灾!

文本更改重置

ajax部分自动回退包含在更新面板中。在不给出任何代码的情况下,有人有办法阻止javascript更改重置吗?

在一天中,我将添加代码,因为我有时间。我想我至少会把问题提出来。

文本更改是在DOM-Model中进行的,不会传输到服务器。如果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>