Javascript GetElementById 将值设置为输入

标签 javascript html asp.net-mvc dom model-view-controller

我正在尝试为我的输入设置值,但我想在数据结束时执行此操作。如您所知,id 在 html 中必须是唯一的。所以我创建了一个“元素”变量并且正在增加它。 我想让我的输入文本成为我模型的 CustomerName。

这是我的代码。

var element = 0;
var HTML = "";
while (element !== 5) {
    HTML += "<input id=senderName" + element + " class=senderNameText type=text>";
    document.getElementById("senderName" + element).value = "@Html.DisplayFor(model => model.CustomerName)";
    element++;
}

            div.innerHTML = HTML;
            document.body.appendChild(div);

当我在 Chrome 控制台中检查它时,它被写为“无法将属性‘值’设置为 null”。

我该怎么办。

谢谢。

最佳答案

您的代码应如下所示(注意创建新输入时需要引号 '):

var element = 0;
var HTML = "";

while (element !== 5) {
    div.innerHTML = "<input id='senderName" + element + "' class='senderNameText' type='text'>";
    document.body.appendChild(div);    

    document.getElementById("senderName" + element).value = "@Html.DisplayFor(model => model.CustomerName)";
    element++;
}

现在,当您尝试从document中选择新元素时,问题就出现了。并且您还没有附加它们,因此您会收到消息错误,这意味着 JS 无法通过 ids 找到任何元素你被给予了。

因此,您应该将新的 HTML 附加到循环内的 DOM。

希望这有帮助。

关于Javascript GetElementById 将值设置为输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795178/

相关文章:

javascript - 未捕获的类型错误 : Cannot read property 'msie' of undefined

javascript - 如何对另一个文件进行 POST 并将该文件加载到主文件中?

Javascript 脚本未在 Wordpress 网站上加载

javascript - Chrome 扩展;通过弹出窗口制作一个可以与文档交互的对话框?

c# - 我们如何在 PDFLib set-graphics-option 中传递专色值列表?

javascript - 为什么这个 JavaScript 可以在 Firefox 中运行,但不能在 Internet Explorer 中运行?

javascript - 在Vuejs中,如何从后面填充输入框的值

javascript - 通过jquery/javascript在span/tspan中设置多个空格

c# - 在 ASP.NET MVC 应用程序中保存配置信息的最佳实践在哪里?

javascript - Bootstrap 的模态框 - 背景不会在显示时淡出