【问题标题】:jQuery Does not work until hitting Page RefreshjQuery 在点击页面刷新之前不起作用
【发布时间】:2012-11-16 23:49:16
【问题描述】:

我有一个使用 C# 的 MVC Web 应用程序。一切正常,直到我执行“保存”操作。这个动作

从页面读取数据

 x = $("#mytextbox").val(); 

x 始终是页面加载时填充的初始值。它不会在页面加载后返回用户键入的值。我还注意到这个 SAVE 函数中的 jquery 确实执行了 jQuery 显示/隐藏 ex:

 $("#messagebox").show(); -- to show the user the feedback for the save action.

现在。如果我按 F5 或刷新页面。以上所有工作正常。

会不会是我添加到div中的html元素不在DOM中?

此代码块在我的 .ascx 中(部分视图)

<script language="javascript" type="text/javascript">

    $("#save-button").button(); -- Works
    $("#status-button").button(); -- Works
    $("#DateField").datepicker(); --Works
    alert($("#DebugtextBox").val()); --Works

    $("#DebugtextBox").val("test"); -- Works but does not update the val in the html page
    alert($("#DebugtextBox").val()); -- Works and shows "TESTS" in the alert. But the field in html page still shows the original val.

// 上面一行的更多信息.. this

【问题讨论】:

  • 您将不得不向我们展示一个演示此问题的简单示例。显然,这不是大多数 MVC 应用程序的工作方式。另外,哪个版本的 MVC?
  • 也许你的 javascript 被缓存了 .. 在你的脚本参考中尝试添加一个 ?v=1.1 的例子 yourjavascript.js?v=1.1 这将强制加载你的脚本的最新版本
  • 我认为它与 MVC 无关。我怀疑主要是js和jquery..
  • 如果 F5 修复了问题 - 那么这意味着之前和之后的页面不一样。
  • 我会尝试将你所有的 js 包装在一个 DOM 加载事件中 $(document).ready(function(){ /* code here */ });

标签: c# jquery asp.net-mvc


【解决方案1】:

问题在于多个文本框具有相同的 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多