动态生成表单并通过jquery提交
我搜索google只是为了找到通过jquery生成和提交表单的方法,我找到了代码片段,但几乎没有什么事情我不清楚动态生成表单并通过jquery提交,jquery,Jquery,我搜索google只是为了找到通过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="', p
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();
}
函数子值(url、参数){
变量形式=[''];
for(参数中的变量键)
形式。推送(“”);
形式。推送(“”);
jQuery(form.join(“”)).appendTo('body')[0].submit();
}
为什么[]第三个括号是这样使用的
var form = [ '<form method="POST" action="', url, '">' ];
var form=[''];
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元素,并将这些元素(…
)追加到正文中
[0]
可以获得表单
,但不是作为jQuery对象,而是作为DOM元素。本机form
元素具有方法submit
,该方法通过.submit()
调用以下是对你的一些疑问的解释
['']
,它就变成了一个数组form.join(“”)
这将连接使用.push()
方法创建的表单数组.appendTo('body')
这将把内容附加到body元素请注意,
[0]
实际上并不是必需的,因为jQuery还定义了一个$.submit()
方法,该方法的功能与本机DOM方法相同。您还可以保证jQuery对象只包含一个节点,因为您将HTML构建为只包含一个
元素。这一点不清楚:-使用[0]可以获得表单,但不是作为jQuery对象,而是作为DOM元素。本机表单元素具有submit方法,该方法通过.submit()调用。如果可能的话,请用几个样品来详细说明。@Thomas当然!它的工作原理与jQuery中的方法相同。正如在链接文档中所写的那样,它允许我们访问每个jQuery对象下面的DOM节点。所以,正如您已经知道的,jQuery对象和DOM元素是不同的东西。例如,var el=$(“#myID”)代码>和var el=document.getElementById(“myID”)代码>寻址相同的元素,但第一个将返回jQuery对象,第二个将返回DOM节点。这一点不清楚:-使用[0]可以获得表单,但不是作为jQuery对象,而是作为DOM元素。本机表单元素具有submit方法,该方法通过.submit()调用。如果可能的话,请用更多的例子来阐述。我想这篇文章会帮助你理解。为什么不呢?这篇文章是否指出了Array.join()函数的错误?你有什么可以推荐的选择吗?你可以看看。目前,MDN是最好的选择。