通过jQuery追加表单元素在firefox中不起作用

时间:2013-03-22 01:27:13

标签: jquery forms element

我正在使用jQuery创建元素表单和输入。 它适用于Chrome,但不适用于Firefox。

(function( $ ) {
    $.fn.criarPost = function(url,campos) {

        var form;
        form = $("<form>").attr({ "action": url, "enctype": "application/x-www-form-urlencoded", "method": "POST", "id":"postlink"});
        campos = campos.split("&");
        $.map(campos, function (key,item) {
            campo = key.split("=");
            $("<input>").attr({ name: campo[0], value: decodeURIComponent(campo[1]) }).appendTo(form);
        });
        $(form).submit();

    };
})( jQuery );

1 个答案:

答案 0 :(得分:1)

Firefox可能不会提交不属于DOM的表单。您可以尝试将其附加到文档然后提交,如下所示:

(function($) {
    $.fn.criarPost = function(url, queryString) {

        var form = $('<form id="postlink" enctype="application/x-www-form-urlencoded" method="POST" style="display: none;">').attr({ 'action': url });

        var params = queryString.split("&");

        $.each(params, function (i, param) {
            var nameValue = param.split('=');
            $("<input>").attr({ name: nameValue[0], value: decodeURIComponent(nameValue[1]) }).appendTo(form);
        });

        $(document.body).append(form);

        form.submit();
    };
})(jQuery);