我在视图中有一个HTML表单,我需要用来自服务器的json变量填写一些输入字段。我不想为每个输入字段编写javascript代码,而是想要在输入标记的value
属性中访问json变量。
我为onload
标记测试了input
个事件,但没有任何效果。
<input type="text" class="form-control" onload="this.value = 'value';" name="company[name]" />
答案 0 :(得分:6)
onload
事件适用于<body>
代码和其他一些代码,或者您也可以使用window.onload = function(){}
查看以下示例代码
<强> HTML 强>
<input type="text" class="form-control" name="company[name]" id="company_name"/>
JS CODE
window.onload = function(){
document.getElementById("company_name").value = "value";
}
PS:id
将是唯一的选择器,因此在input元素中添加id属性。
您可以使用window.onload
事件匿名函数
更新
@ AlexanderO'Mara建议以下HTML标记支持
'onload':
<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>
以下Javascript对象:
image, layer, window
答案 1 :(得分:3)
$('document').ready(function () {
$('input').val('value')
})
$('document').ready(function() {
$('input').val('value')
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="form-control" name="company[name]" />
&#13;
答案 2 :(得分:3)
这是一个纯/ vanilla Javascript解决方案。
保持<input>
元素的名称与JSON数据中的相同。我们的想法是使用JSON数据中的键访问<input>
。
以下是工作代码段:
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]
}
<input type="text" class="form-control" name="a" />
<input type="text" class="form-control" name="b" />
答案 3 :(得分:-1)
尝试此解决方案。
<input type="text" autofocus>