在没有html表单的javascript中创建“表单”

时间:2009-09-12 09:20:36

标签: javascript

我正在尝试通过javascript动态提交表单(使用jquery-form)

是否可以使用javascript在'FORM'中创建'FORM'更新一组值,而不使用HTML格式?

4 个答案:

答案 0 :(得分:5)

我猜你要问的是'我可以在不使用HTML表单的情况下执行HTTP POST吗?'答案是肯定的。

查看jquery的$ .post()。它看起来像这样:

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

您传递的变量名称是value1 / value2及其对应的值。

这是jquery引用:$.ajax

答案 1 :(得分:2)

我认为你的意思是以下两件事之一:

  1. 我可以使用javascript创建<form>元素吗? 答:是的,你可以。
    使用jQuery DOM manipulation functions即可。

  2. 我可以将值提交到服务器端脚本,例如<form>吗? 答:是的,你可以。
    使用jQuery Ajax functions执行此操作。更具体地说,jQuery.post()是你的朋友 如果您想在这两个选项之间做一些事情,jQuery form plugin会派上用场。

  3. 干杯!

答案 2 :(得分:2)

此代码将动态创建表单,使用传入的数据填充并提交(作为常规HTTP POST)。这应该是你需要的。

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();
};

答案 3 :(得分:1)

您可以通过

发布表单中的所有值
$.ajax({url: XXX, data: { formField1: "value" }})