【问题标题】:jQuery+ASP.NET: click = value in hidden field, clicking too fastjQuery+ASP.NET:点击=隐藏字段中的值,点击太快
【发布时间】:2011-12-02 07:59:59
【问题描述】:

我将点击事件绑定到超链接。 Onclick 超链接的值(内部文本)保存在隐藏字段中。有了这个值,我在页面重新加载(ASP.NET)之后工作。 它有效 - 但问题是:

如果我单击链接 1,一切正常。 如果我点击link2,一切正常。

如果我单击链接 1,然后(非常快)单击链接 2,隐藏字段具有旧值(链接 1)。

有人有办法解决这个问题吗?

$(function () {
var innertxt = "";
$("span[id$='myLink']").bind("click", function () {
     innertxt = ($(this).text());
    if (innertxt == "myLinkText1" || innertxt == "myLinkText2") {
        $("input[id$='myHiddenField']").val(innertxt);
    } else { $("input[id$='myHiddenField']").val(""); }
  });
});

(与 ASP.NET 页面重新加载相结合的代码,这意味着单击链接 $("span[id$='myLink']") 后,页面会重新加载。)

// 编辑

我已经有一个 onclick(内联)事件。 显然绑定是在 onclick 事件触发后开始的,所以为时已晚。

我已将代码放在 onclick 内联事件中,它正在工作。

感谢您的建议!

//结束编辑

【问题讨论】:

  • 你是不是每次点击都会清理输入值
  • 我用 jQuery 控制点击。所以我在第一行添加了(在...(“click”,function(){...)innertxt =“”;之后,但根本没有改变。
  • 我认为你做错了。请告诉我们你想做什么?
  • 我使用隐藏字段仅在单击与隐藏字段中的值相关的链接后显示文件。它有效,但前提是我等到页面完全加载。如果我在一个链接上单击太快,然后在另一个链接上单击太快,则隐藏字段具有第一个链接的旧值,并显示错误的文件。
  • 你为什么要附加跨度,虽然你说它们是超链接?

标签: jquery asp.net hidden-field


【解决方案1】:

您可以使用LinkButton 控件代替HyperLink 并设置CommandArgument 属性以反映必须显示哪些文件。

【讨论】:

    【解决方案2】:

    我已经有一个 onclick(内联)事件。显然绑定是在 onclick 事件触发后开始的,所以为时已晚。

    我已将代码放在 onclick 内联事件中,它正在工作。

    <span id="myLink" onclick="myCodeHere" />
    

    感谢您的建议!

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多