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 に答える