JSON

JS使用json数据自动填充表单

字号+ 作者:H5之家 来源:H5之家 2017-10-13 09:02 我要评论( )

JS使用json数据自动填充表单 titleJS使用json数据自动填充表单示例/titleform name=myformtext:input type=text name=text /br /textarea:textarea name=textarea/textareabr /radio:input type=radio name=radio value=radio1 /radio1 input type=radio nam

  JS使用json数据自动填充表单

<title>JS使用json数据自动填充表单示例</title> <form name="myform"> text:<input type="text" name="text" /><br /> textarea:<textarea name="textarea"></textarea><br /> radio:<input type="radio" name="radio" value="radio1" />radio1 <input type="radio" name="radio" value="radio2" />radio2<br /> checkbox:<input type="checkbox" name="checkbox" value="checkbox1" />checkbox1 <input type="checkbox" name="checkbox" value="checkbox2" />checkbox2 <input type="checkbox" name="checkbox" value="checkbox3" />checkbox3<br /> checkbox-signle:<input type="checkbox" name="checkbox1" value="checkbox1" />checkbox1<br /> select-single:<select name="selsg"><option value="">...</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select><br /> select-multiple:<select name="selmul" multiple><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select> </form> <script> function fillData(f, kv) { var attr, el, v, vs; for (attr in kv) { el = f[attr]; if (el) { v = kv[attr]; switch (el.type||el[0].type) { case 'text': case 'textarea': case 'select-one': el.value = v; break; case 'select-multiple': vs = ',' + v.join() + ',';//前后加逗号分隔 for (var i = el.options.length - 1; i >= 0; i--) if (vs.indexOf(',' + el.options[i].value + ',') != -1) el.options[i].selected = true; break; case 'radio': case 'checkbox': var isRadio = el.type == 'radio'; //前后加逗号分隔 if (isRadio) vs = ',' + v.join() + ','; else vs = ',' + v + ','; if (typeof el.length == 'number') {//多个 for (var i = el.length - 1; i >= 0; i--) if (vs.indexOf(',' + el[i].value + ',') != -1) { el[i].checked = true; if (isRadio) break; } } else el.checked = el.value == v;//只有一个 break; } } } } ////////////////////测试 //数据,键名称和表单输入对象同名 var data = { text: 'text value', textarea: 'textarea value', radio: 'radio2', checkbox: ['checkbox1','checkbox3'],//复选框,数组, checkbox1: ['checkbox1'], selsg: '3', selmul:['2','4']//select多选,数组 }; fillData(document.myform, data); </script>

 


原创文章,转载请注明出处:JS使用json数据自动填充表单

2017-7-13Web开发网

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • javascript转义字符(\)对JSON.parse和eval的影响

    javascript转义字符(\)对JSON.parse和eval的影响

    2017-08-18 18:00

  • jQuery调用WebService返回JSON数据

    jQuery调用WebService返回JSON数据

    2017-08-18 11:01

网友点评