如何提交HTML完整的表单

时间:2018-03-13 15:41:13

标签: javascript html forms

我在网上搜索过但没有发现任何相关内容。

我正在尝试通过隐藏的输入表单将PDF提交到PDF生成器。但是当我提交时,所有 都被删除了。

以下是我正在使用的代码:

for (var i = 0; i < receipts.length; i++) {
    params.receiptHtmls[i] = receipts[i].receiptHtml.replace("width=device-width, initial-scale=1", "text/html; charset=utf-8");

    params.receiptHtmls[i] = receipts[i].receiptHtml.replace(/"/g, '&quot;');
}

var disp = request.getResponseHeader('Content-Disposition');

if (disp && disp.search('attachment') !== -1) {
    var form = $('<form method="POST" accept-charset="UTF-8" action="' + url + '">');

    $.each(params.receiptHtmls, function(k, v) {
        form.append($('<input type="hidden"name="receiptHtmls[]" value="' + v + '">'));
    });

    $.each(params.names, function(k, v) {
        form.append($('<input type="hidden" name="names[]" value="' + v + '">'));

    });

    $('body').append(form);
    form.submit();
}

当我单步执行代码时,显然在表单提交之前正在删除&nsps;

知道为什么会这样,以及我可以做些什么来阻止它?

1 个答案:

答案 0 :(得分:0)

如果有人遇到这种情况。

最终解决方案是我们需要使用document.createElement("input");来创建输入,然后使用setAttribute('type', 'hidden')等。

form.append($('<input type="hidden"name="receiptHtmls[]" value="' + v + '">'));每次都会引发这个问题。