【问题标题】:Javascript function not assigning proper valueJavascript函数没有分配正确的值
【发布时间】:2014-01-20 08:21:43
【问题描述】:

我有以下 javascript 函数:

function editWebsite(IP)
{

 document.getElementById('ctl04_txtIP').value = IP;

}

ctl04_txtIP 是代表IP adress 的文本框,通过editWebsite 函数的参数IP 传递。

问题是,当我看到那个文本框时,IP 变量的值不同,文本框中显示的实际值也不同。

当我在函数中添加alert('Any message') 时,它会正确显示我的值,但是一旦我删除警报并像上面那样使我的 JavaScript 函数,值就会不同。

我无法理解它是如何发生的。

我正在使用 Visual Studio 2008 (ASP.NET)

我已经通过 c# 代码动态创建了一个链接,单击该链接会调用此函数>>

"<a href='javascript:void(0)' onclick=\"javascript:editWebsite('" + Convert.ToString(dr["IP"]) + "')\">Edit</a>"

【问题讨论】:

  • 这听起来像是一个异步问题。你能给我们更多相关的代码吗?小提琴也可以帮助我们帮助您。
  • @dystroy 代码如上而已
  • 不,你的错误在别处。
  • @dystroy 先生,如果我在同一功能中添加任何消息的警报框,那么它会正确显示我的值
  • @dystroy 先生,如果我在分配值后写警告框,它也不会影响

标签: c# javascript asp.net .net visual-studio-2008


【解决方案1】:

您是否尝试在分配值之前设置延迟?

function editWebsite(IP)
{
 setTimeout(function() {
 document.getElementById('ctl04_txtIP').value = IP;
 }, 100);
}

【讨论】:

  • 你以一种可怕的方式隐藏了一个错误。
  • 真正的 问题是您在一些异步查询期间调用函数过早。 alert 和 setTimeout,如果你幸运的话,让脚本等待函数的返回。我们需要更多的代码来解决这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-22
相关资源
最近更新 更多