jQuery动态表单提交

aeq*_*aeq 2 javascript jquery

我可以很容易地找到如何使用jQuery 提交现有表单.但是,如果有URL,我可以动态创建和提交此表单?

Pre*_*aul 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();
Run Code Online (Sandbox Code Playgroud)

如果你需要能够指定参数和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();
}
Run Code Online (Sandbox Code Playgroud)

并这样称呼它:

submitValues('url.php', { foo: 'bar', boo: 'far' });
Run Code Online (Sandbox Code Playgroud)