1

json オブジェクトをフォームに変換し、DOM に追加する関数を作成していました。

構文が正しくないようです。chrome dev tools を実行すると、15 行目で「Uncaught SyntaxError: Unexpected identifier」エラーが表示されます。

ラジオ、チェックボックス、標準テキストまたはテキストボックスなどのフォームケースをサポートしようとしています。ラジオとチェックボックスを区別する方法がわかりません。

これが私がこれまでに持っているものです:

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); 
});
};

助言がありますか?

4

1 に答える 1

0

問題は行にあるようです

inputCheckbox.attr("id", key).attr("name", key).appendTo("form");

JQuery は、まだ dom にない要素に追加する際に信頼できない可能性があります (これは特に JQuery 1.9 以降に当てはまると思います - バグの確認については、 http: //bugs.jqueryui.com/ticket/8858 (最後のコメント) を参照してください) .

を移動すると

target.append(form); 

if ステートメントの上に移動すると、これで問題が解決する場合があります

于 2013-05-21T00:06:49.930 に答える