我在谷歌上搜索只是为了找到通过 jquery 生成和提交表单的方法,我找到了代码片段,但有些事情我不清楚。
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();
}
为什么[]第三个括号的用法像
var form = [ '<form method="POST" action="', url, '">' ];
jQuery(form.join('')).appendTo('body')[0].submit(); 行的含义是什么 为什么使用 form.join('') 以及为什么这样写 appendTo('body')[0] 为什么[0]
请详细指导我了解上述粗体语法。谢谢
最佳答案
按问题顺序:
括号
[]
定义一个数组。因此,在第二行中,它定义了包含三个项目的数组:var form = [ "first item", "second item", "third item", ... etc ];
form.join('')
连接form
的所有元素带有空字符串分隔符的数组,因此form
变成一个由数组中的子字符串连接而成的字符串。jQuery(form.join(''))
将您的字符串转换为 DOM 元素和appendTo("body")
将这些元素 (<form><input> ... </form>
) 附加到body
内.使用
[0]
你得到你的form
,但是不是作为 jQuery 对象,而是作为 DOM 元素。 nativeform
元素有方法submit
这是用.submit()
调用的.
对于 native JavaScript 方法和函数的任何疑问,您可以阅读 MDN 。 jQuery 文档位于 api.jquery.com .
关于jquery - 动态生成表单并通过jquery提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881199/