【问题标题】:Passing variable into JavaScript getElementById将变量传递给 JavaScript getElementById
【发布时间】:2016-09-14 13:55:50
【问题描述】:

我有一个简单的 JavaScript 问题。这是一个例子:

function test()
{    
    for(int i=1; i<5; i++)
    {         
      var value[i] = 100*i;         
      var x = accountname + value[i];

      document.getElementById(x).value = value + '_'+"TestName";        
    }        
}
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">

    <telerik:RadTextBox RenderMode="Lightweight" ID="accountname100" AutoCompleteType="HomePhone" runat="server"
        Label="account #1:" /><br />
    <telerik:RadTextBox RenderMode="Lightweight" ID="accountname200" AutoCompleteType="HomePhone" runat="server"
        Label="account  #2:" /><br />
    <telerik:RadTextBox RenderMode="Lightweight" ID="accountname300" AutoCompleteType="HomePhone" runat="server"
        Label="account  #3:" /><br />
    <telerik:RadTextBox RenderMode="Lightweight" ID="accountname400" AutoCompleteType="HomePhone" runat="server"
        Label="account  #4:" /><br />

</asp:Content>

我正在尝试找到正确的语法,以便参数“x”的值可以正确地出现在 radtextbox 中。

【问题讨论】:

  • accountname 定义在哪里?
  • telerik:RadTextBox RenderMode="Lightweight" runat="server" ID="accountname100" Width="200px" TextMode="Password"> telerik:RadTextBox RenderMode="Lightweight " runat="server" ID="accountname200" Width="200px" TextMode="Password"> id 将是 accountname100
  • 您应该将此添加到您的问题中

标签: javascript asp.net telerik


【解决方案1】:

我认为这里有一些问题。一个是使用value 来设置从未设置过的输入值,另一个是使用accountname,它应该是一个字符串"accountname"。我创建了一个fiddle,这大致就是我认为您想要实现的目标。希望有帮助

【讨论】:

  • 感谢您的提琴。当我尝试将此函数用于 rad 文本框时,我遇到了问题“JavaScript 运行时错误:无法获取未定义或空引用的属性‘值’”
  • rad 文本框输出什么 html?
  • @ama 我突然想到,因为这些是 Telerik Rad 控件,并且因为它将位于 Web 表单页面中,所以它会修改您指定的 id,因此您最好定义一个自定义属性或类以控件输出的 html 元素为目标
【解决方案2】:

这是你假装的一些东西

function test() {
    value = [];
    for(var i=1; i<5; i++) {
        value.push(100*i);
        var x = accountname + value[i];
        document.getElementById('accountname'+x).value = value + '_' + "TestName";
    }
}

详情:

在 javascript vars 中没有类型,它们的类型是动态的

所以要声明任何类型的变量,你必须这样做

var number = 10;
var name = "Jhon";
var money = 3.23;
var arrayNumbers = [1,2]; 

我建议你看一些 javascript 的基本指南。

【讨论】:

  • 感谢您花时间解决这个问题。 “x”在这里是动态的。如果我使用下面的它运行良好。函数 test() { document.getElementById("accountname100").value = value + '_' + "TestName"; } } 但如果我们得到的 id 是动态的,它就不起作用
  • 我刚刚修复了您的语法错误。如果你想得到一个元素,你必须引用它的 id。 “x”不是id,id是accountname+x
猜你喜欢
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 2018-09-23
  • 2012-01-28
  • 2012-10-24
  • 2021-04-21
  • 2019-03-24
  • 2021-04-16
相关资源
最近更新 更多