0

是否可以在页面中创建一个没有输入选择器的 HTML 表单并通过 javascript 创建这些“输入”对象然后提交?如何创建这些“项目”?还是我必须始终创建任何“项目”以之前在 HTML 代码中提交?

那么,我可以避免创建烦人的隐藏输入以发送 javascript 变量吗?我真的找不到任何关于它的教程或示例......

非常感谢您的帮助。

4

2 回答 2

0

像这样,使用jquery

$('<form>', {
    "id": "getInvoiceImage",
    "html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />',
    "action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/'
}).appendTo(document.body).submit();

更好的方法:

$.post(url, { value1: "foo", value2: "bar" } );

如果你坚持用表格来做,这里是通用函数,所以你可以把 json 数据传递给它

var postRequest = function (uri, data) {

    data = data || {};

    var form = $('<form method="post" class="js:hidden">').attr('action', uri);

    $.each(data, function(name, value) {
        var input = $('<input type="hidden">')
            .attr('name', name)
            .attr('value', value);
        form.append(input);
    });

    $('body').append(form);
    form.submit();
};
于 2013-10-18T22:07:09.530 回答
0

是的,即使完全不使用<form>.

查看 jQuery 作为入门者 ( http://api.jquery.com )。例如,如果您想知道客户端设备宽度,可以添加以下代码:

$(document).ready(function() {
    $.ajax( {
        url: http://yourdomain.com/yourscript.php,
        dataType: 'json',
        type: 'POST',
        data: {
            w: $(window).width,
            h: $(window).height
        }
    });
});

这会将参数 w 和 h 提交给您的应用程序,其中包含窗口宽度和高度。举个例子。

于 2013-10-18T22:10:41.960 回答