提交javascript变量中的表单

时间:2012-01-17 15:25:59

标签: javascript jquery html forms

我试过

var form = $('.form').clone();
form.submit();

所以我试图在变量形式中提交一个表单,这个表单没有在页面上完全呈现,因为它是从另一个表单克隆的......但是我没有看到表单已经提交的任何迹象

我的问题是......这个用例甚至可能首先出现吗?你可以使用jquery提交一个包含在javascript变量中但实际上没有在页面上呈现的表单吗?

如果没有,是否可以以某种方式调整它,以便您确实可以在变量中提交表单? (当然没有在页面上重新渲染它)

3 个答案:

答案 0 :(得分:0)

我的猜测是,不能提交不属于活动DOM的表单(即不作为页面的一部分“呈现”)。

您可以通过将表单添加到页面作为不可见元素(例如,作为样式为display:none的div的子项)来解决此问题。或者,您可以从表单内容中构建AJAX request

答案 1 :(得分:0)

在提交之前,您需要将克隆的form元素附加到文档正文。

但为什么你需要克隆并提交?无论如何,即使您将页面附加到正文并提交,页面也会刷新。

为什么不使用ajax提交表单?

答案 2 :(得分:0)

这就是我过去的做法:

var form;

form = document.createElement("form");
$(form)
.attr("method", "post")
.attr("style", "display: none")
.attr("action", "your_url");

document.body.appendChild(form);

form.submit();
$(form).remove();