ham*_*med 8 html javascript jquery json onload
我在视图中有一个HTML表单,我需要用来自服务器的json变量填写一些输入字段.我不想为每个输入字段编写javascript代码,相反,我想在value
输入标记的属性中访问json变量.
我测试onload
了input
标签的事件,但没有任何影响.
<input type="text" class="form-control" onload="this.value = 'value';" name="company[name]" />
Run Code Online (Sandbox Code Playgroud)
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)
这是一个纯/普通的 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)