使用 jQuery 创建帖子表单并提交它的最短方法是啥? [复制]
Posted
技术标签:
【中文标题】使用 jQuery 创建帖子表单并提交它的最短方法是啥? [复制]【英文标题】:What is the shortest way to create post form and submit it using jQuery? [duplicate]使用 jQuery 创建帖子表单并提交它的最短方法是什么? [复制] 【发布时间】:2012-08-22 16:42:15 【问题描述】:我有一个带有data-url
和data-parameter
属性的按钮,需要将其发布到控制器。问题是,该控制器将返回一个重定向,所以 $.post
在这里没有什么帮助,我正在考虑动态创建表单并提交它。
我认为这是很常见的任务,但我在 jQuery 上找不到任何快捷方式来执行此操作,最短/最好的方法是什么?
【问题讨论】:
如果控制器返回一个重定向,如果你使用 ajax 发布它,那么对于你的表单页面并不重要,我认为页面不会重新加载,你只会得到不同的数据 ***.com/questions/133925/… @JeroenMoons - 这里不需要 ajax,我只需要在浏览器上发布位置更改的数据的解决方案,就像提交常规发布表单一样。 @n***s - 你提到的问题中有 jquery 版本,但 cmets 说它有错误。 @Giedrius 想要使用 jQuery 而不是提供的本机 js 答案(已接受的答案)的任何具体原因?将接受的答案转换为使用 jQuery 很简单,但它只真正为您节省了几个字符,并且所有内容都应该跨浏览器兼容。需要帮助吗? 【参考方案1】:来源:https://***.com/a/133997/803925
修改为使用jQuery:
function post_to_url(path, params, method)
method = method || "post"; // Set method to post by default, if not specified.
var $form = $("<form>")
.attr("method", method)
.attr("action", path);
for(var key in params)
if(params.hasOwnProperty(key))
var $hiddenField = $("<input type='hidden' >")
.attr("name", key)
.val( params[key] );
$form.append( $hiddenField );
$('body').append( $form );
$form.submit();
【讨论】:
非常感谢。这是我一直在寻找的最佳解决方案。这个答案来自 2012 OMG。现在我可以将我的代码更改为 jquery。 ***.com/a/67716628/1901693以上是关于使用 jQuery 创建帖子表单并提交它的最短方法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章