如何通过serialize()获取值来自动填充表单?

时间:2016-07-23 11:16:37

标签: javascript jquery html

就像使用jquery函数serialize()一样,我们可以获取表单的所有值,如何设置所有值以形成?



function getAllValue(){
    document.write($("#test").serialize());
}

function setAllValue(){
    var all_values = [{name:"input1",value:"test1"},{name:"input2",value:"test2"},{name:"input3",value:"test3"}];
    $.map(all_values,function(input) {
        $("input[name='"+input.name+"']").val(input.value);
    });
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="test">
  <input type="text" name="input1">
  <input type="text" name="input2">
  <input type="text" name="input3">
  <input type="button" onClick="getAllValue();" value="Get All Value">
  <input type="button" onClick="setAllValue();" value="Set All Value">
</form>
&#13;
&#13;
&#13;

或者这也是我现在正在做的一个很好的解决方案。请建议。

1 个答案:

答案 0 :(得分:1)

如果你想要更通用的东西,即使你不知道表格会有什么输入,你也可以使用它,你可以使用它:

var inputsNamesArray = $("#test").serialize().replace(/\=[^\=\&]*/g,"").split("&");
$.each(inputsNamesArray, function(key,val){
    $("#test input[name="+val+"]").val("placeholder");
});