在我当前的项目中,我需要“汇总”输入、选择和其他表单字段的变量选择,并将它们作为表单提交。为了实现这一点,我正在动态创建一个<form>
元素。类似的东西
HTML
<a id="fire" href="#" title="submit form">Submit form</a>
<input id='inpQ' name='q' type='text' required/>
JS
$('#fire').click(function (event) {
event.preventDefault();
var opts = {
'action': 'http://www.google.com/search',
'target': '_blank'
}
var newForm = $('<form>', opts).append($('#inpQ').clone());
newForm.submit();
});
我应该解释一下,我需要保留原始元素,而不是仅仅将它们隔离起来以在表单中使用——因此是 .clone()。
有关工作演示,请参阅此小提琴
这行得通-但仅在一定程度上。我遇到的问题
- Webkit 浏览器:有效,但要求'inpQ 值的禁令被浏览器忽略。
- 在 Firefox 和 IE10 中它根本不起作用。在后者中,我得到控制台错误,类似于 Access is Denied 和 $ 未定义。在 Firefox 中没有错误,但是......没有任何反应。
也许这里有人可以对其中一些问题有所了解?