Javascript 解释表单附加到DOM的对象

Javascript 解释表单附加到DOM的对象,javascript,jquery,json,forms,api,Javascript,Jquery,Json,Forms,Api,我正在编写一个函数,将json对象转换为表单,并将其附加到DOM中 我似乎无法正确理解我的语法;chrome开发工具在第15行给了我一个“未捕获的SyntaxError:意外标识符”错误 我试图支持表单案例,如收音机、复选框和标准文本或文本框。我不知道如何区分收音机和复选框 以下是我到目前为止的情况: jQuery.fn.toForm = function(obj) { var target = this; var form = document.createElement("form")

我正在编写一个函数,将json对象转换为表单,并将其附加到DOM中

我似乎无法正确理解我的语法;chrome开发工具在第15行给了我一个“未捕获的SyntaxError:意外标识符”错误

我试图支持表单案例,如收音机、复选框和标准文本或文本框。我不知道如何区分收音机和复选框

以下是我到目前为止的情况:

jQuery.fn.toForm = function(obj) {

var target = this; 

var form = document.createElement("form");
    form.setAttribute('method', "post");
    form.setAttribute('action', "submit.php");

$.each(obj, function(key, value){

    var inputCheckbox = $("<input type='checkbox' value='"+value+"' />");
    var inputStandard = $("<input type='text' value='"+value+"' />");

    if(typeOf value === 'boolean'){

        inputCheckbox.attr("id", key).attr("name", key).appendTo("form");
        form.append(inputCheckbox);
    }
    else {
        inputStandard.attr("id", key).attr("name", key).appendTo("form");
    }   

    target.append(form); 
});
};
jQuery.fn.toForm=函数(obj){
var目标=此;
var form=document.createElement(“表单”);
form.setAttribute('method','post');
form.setAttribute('action','submit.php');
$。每个(对象、功能(键、值){
变量inputCheckbox=$(“”);
变量inputStandard=$(“”);
如果(值的类型=='boolean'){
inputCheckbox.attr(“id”,key).attr(“name”,key).appendTo(“form”);
表单。追加(inputCheckbox);
}
否则{
inputStandard.attr(“id”,key).attr(“name”,key).appendTo(“form”);
}   
target.append(表单);
});
};

有什么建议吗

问题似乎已经解决了

inputCheckbox.attr("id", key).attr("name", key).appendTo("form");
JQuery在附加到dom中尚未包含的元素时可能不可靠(我认为这尤其适用于JQuery 1.9+——请参阅(最后一条注释)以确认错误)

如果你移动

target.append(form); 

对于上面的if语句,您可能会发现这解决了您的问题

typeOf应该是typeOf(小写o),我认为您的JSON字符串中有一个错误,但您没有发布。form.append不存在,应该不是form.appendChild吗?