1

我正在使用 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 );
4

1 回答 1

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);
于 2013-03-22T02:01:45.383 回答