我可以轻松找到如何使用jQuery提交现有表单。但是,如果有URL,我可以如何动态创建和提交此表单?
答案 0 :(得分:9)
对于一个可能以另一种方式更好地解决的问题,这听起来像是一个糟糕的解决方案......
话虽这么说,你可以创建一个表单并轻松触发提交方法:
$([
'<form action="url.php" method="post">',
'<input type="hidden" name="param1" value="foo"/>',
'<input type="hidden" name="param1" value="foo"/>',
'</form>'
].join('')).appendTo('body')[0].submit();
如果你需要能够指定参数和url,那么你可以编写一个类似于这个的函数:
function submitValues(url, params) {
var form = [ '<form method="POST" action="', url, '">' ];
for(var key in params)
form.push('<input type="hidden" name="', key, '" value="', params[key], '"/>');
form.push('</form>');
jQuery(form.join('')).appendTo('body')[0].submit();
}
并以这种方式称呼它:
submitValues('url.php', { foo: 'bar', boo: 'far' });