HTML - 如何在加载时填充输入文本?

ham*_*med 8 html javascript jquery json onload

我在视图中有一个HTML表单,我需要用来自服务器的json变量填写一些输入字段.我不想为每个输入字段编写javascript代码,相反,我想在value输入标记的属性中访问json变量.

我测试onloadinput标签的事件,但没有任何影响.

<input type="text" class="form-control" onload="this.value = 'value';" name="company[name]" />
Run Code Online (Sandbox Code Playgroud)

Gir*_*ish 6

onload事件适用于<body>标签和其他一些标签,或者您也可以使用window.onload = function(){}下面的示例代码

的HTML

 <input type="text" class="form-control" name="company[name]" id="company_name"/>
Run Code Online (Sandbox Code Playgroud)

JS代码

window.onload = function(){
  document.getElementById("company_name").value = "value";
}
Run Code Online (Sandbox Code Playgroud)

PS:id将是唯一选择器,因此在输入元素中添加id属性。

您可以在window.onload事件匿名函数中使用右键选择器访问所有元素

更新

由@ AlexanderO'Mara建议

以下HTML标记支持“ onload”:

<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>
Run Code Online (Sandbox Code Playgroud)

以及以下Javascript对象:

image, layer, window
Run Code Online (Sandbox Code Playgroud)


Rah*_*sai 3

这是一个纯/普通的 Javascript 解决方案。

保持元素名称<input>与 JSON 数据中的名称相同。这个想法是访问<input>这个想法是使用 JSON 数据中的键来

这是工作代码片段:

const values = {
  a: 5,
  b: 15
}

const keys = Object.keys(values)
const length = keys.length

for(let i = 0; i < length; i++){
    const key = keys[i]
    document.getElementsByName(key)[0].value = values[key]
}
Run Code Online (Sandbox Code Playgroud)
<input type="text" class="form-control" name="a" />
<input type="text" class="form-control" name="b" />
Run Code Online (Sandbox Code Playgroud)