我想用jQuery提交表单。有人可以提供代码,演示或示例链接吗?使用jQuery提交表单
回答
从手册:jQuery Doc
$("form:first").submit();
你将不得不使用$("#formId").submit()
。
您通常会在函数中调用此函数。
例如:
<input type='button' value='Submit form' onClick='submitDetailsForm()' />
<script language="javascript" type="text/javascript">
function submitDetailsForm() {
$("#formId").submit();
}
</script>
你可以在此对Jquery website的更多信息。
$("form:first").submit();
您还可以使用jQuery的形式插件使用AJAX藏汉提交:
这取决于你是否正常,或通过一个AJAX调用提交表单。您可以在jquery.com找到大量信息,包括带有示例的文档。要正常提交表单,请查看该网站的submit()
方法。对于AJAX,有许多不同的可能性,尽管您可能想要使用ajax()
或post()
方法。请注意,post()
实际上只是一种方便的方式,可以通过简化且有限的界面调用ajax()
方法。
我每天使用的关键资源是书签How jQuery Works。它有关于使用jQuery的教程,左边的导航可以访问所有的文档。
实例:
普通
$('form#myForm').submit();
AJAX
$('input#submitButton').click(function() {
$.post('some-url', $('form#myForm').serialize(), function(data) {
... do something with response from server
},
'json' // I expect a JSON response
);
});
$('input#submitButton').click(function() {
$.ajax({
url: 'some-url',
type: 'post',
dataType: 'json',
data: $('form#myForm').serialize(),
success: function(data) {
... do something with the data...
}
});
});
注意,ajax()
和post()
以上方法是等效的。还有,你可以添加到ajax()
请求处理错误的其他参数等
我错过了序列化方法。显然,我查看了jQuery.com,但是他们关于`$ .post`的文档明确地解构并重构了表单以生成要提交的数据。谢谢! – nomen 2014-07-02 21:56:57
如果我有一些数据准备好我想在提交之前添加到发布请求(不是ajax,表单提交发布请求),我该怎么做? – 2014-07-11 08:07:04
@AlexanderSupertramp - 在上面的例子中,数据是以url编码的形式参数发送的。您可以简单地将数据附加为其他表单参数。 `$('form#MyForm')。serialize()+'&newData ='+ newData +'&moreData ='+ moreData`。注意:后两个可能需要使用`encodeURIComponent()`进行网址编码。或者 - 您可以更改为在两端都使用JSON编码,但是您需要将表单数据与您的额外数据一起放入JavaScript数据结构中并将其序列化。在这种情况下,您可能会在表单中使用`serializeArray`并合并其他数据。 – tvanfosson 2014-07-11 14:42:18
在jQuery中,我宁愿以下几点:
$("#form-id").submit()
但话又说回来,你真的不需要jQuery来执行任务 - 只要使用正规的JavaScript:
document.getElementById("form-id").submit()
我也用下面的提交表单(实际上没有提交它)通过Ajax:
jQuery.get("process_form.php"+$("#form_id").serialize(), {},
function() {
alert("Okay!");
});
我推荐一个通用的解决方案,因此您不必为每个表单添加代码。使用jquery表单插件(http://jquery.malsup.com/form/)并添加此代码。
$(function(){
$('form.ajax_submit').submit(function() {
$(this).ajaxSubmit();
//validation and other stuff
return false;
});
});
function form_submit(form_id,filename){
$.post(filename,$("#"+form_id).serialize(), function(data){
alert(data);
});
}
将张贴在通过AJAX您指定的文件名的表单数据。
jQuery("a[id=atag]").click(function(){
jQuery('#form-id').submit();
**OR**
jQuery(this).parents("#form-id").submit();
});
,你可以做这样的:
$('#myform').bind('submit', function(){ ... });
注意,在Internet Explorer中存在与动态创建的形式问题。这样创建的表格将不会在IE提交(9):
var form = $('<form method="post" action="/test/Delete/">' +
'<input type="hidden" name="id" value="' + myid + '"></form>');
$(form).submit();
为了得到它工作在IE创建表单元素,并利用像这样之前接好:
var form = document.createElement("form");
$(form).attr("action", "/test/Delete")
.attr("method", "post");
$(form).html('<input type="hidden" name="id" value="' + myid + '" />');
document.body.appendChild(form);
$(form).submit();
document.body.removeChild(form);
创建等形式实施例1中,然后将其附着将无法正常工作 - 在IE9它抛出一个JScript错误DOM Exception: HIERARCHY_REQUEST_ERR (3)
这将发送形式预加载:
var a=$('#yourform').serialize();
$.ajax({
type:'post',
url:'receiver url',
data:a,
beforeSend:function(){
launchpreloader();
},
complete:function(){
stopPreloader();
},
success:function(result){
alert(result);
}
});
i'have一些技巧,使一形式的数据后重整与随机方法http://www.jackart4.com/article.html
IE特技动态形式:
$('#someform').find('input,select,textarea').serialize();
目前为止的解决方案要求您了解表单的ID。
使用此代码提交表单,而无需知道该ID:
function handleForm(field) {
$(field).closest("form").submit();
}
例如,如果你想处理一个按钮的点击事件,你可以使用
$("#buttonID").click(function() {
handleForm(this);
});
你可以这样使用它:
$('#formId').submit();
或
document.formName.submit();
,当你有一个现有的形式,即现在应该用jQuery工作 - AJAX /后现在你可以:
- 挂到提交 - 您的形式
- 的情况下防止提交的默认功能
做你自己的东西
$(function() { //hang on event of form with id=myform $("#myform").submit(function(e) { //prevent Default functionality e.preventDefault(); //get the action-url of the form var actionurl = e.currentTarget.action; //do your own request an handle the results $.ajax({ url: actionurl, type: 'post', dataType: 'application/json', data: $("#myform").serialize(), success: function(data) { ... do something with the data... } }); }); });
请注意,为了使serialize()
函数能够在上面的例子中工作,所有表单元素都需要定义它们的name
属性。形式的
例子:
<form id="myform" method="post" action="http://example.com/do_recieve_request">
<input type="text" size="20" value="default value" name="my_input_field">
..
.
</form>
@PtF - 数据在此示例中使用POST提交的,所以这意味着你可以通过
$_POST['dataproperty1']
,其中dataproperty1是访问您的数据你的json中的“variable-name”。
这里样本语法,如果你使用的CodeIgniter:
$pdata = $this->input->post();
$prop1 = $pdata['prop1'];
$prop1 = $pdata['prop2'];
使用它使用jQuery提交表单。 这里是链接http://api.jquery.com/submit/
<form id="form" method="post" action="#">
<input type="text" id="input">
<input type="button" id="button" value="Submit">
</form>
<script type="text/javascript">
$(document).ready(function() {
$("#button").click(function() {
$("#form").submit();
});
});
</script>
需要注意的是,如果你已经安装了你的形式提交事件侦听器,将肠子调用提交()
jQuery('#<form-id>').submit(function(e){
e.preventDefault();
// maybe some validation in here
if (<form-is-valid>) jQuery('#<form-id>').submit();
});
不会的工作,因为它试图为此表单的提交事件安装新的事件侦听器(失败)。所以,你必须存取权限的HTML元素本身(从jQquery拆开包装),并调用提交()这个元素直接:
jQuery('#<form-id>').submit(function(e){
e.preventDefault();
// note the [0] array access:
if (<form-is-valid>) jQuery('#<form-id>')[0].submit();
});
如果按钮位于表单标签之间,我更喜欢这个版本:
$('.my-button').click(function (event) {
var $target = $(event.target);
$target.closest("form").submit();
});
我的做法略有不同的变化将按钮提交按钮,然后单击
$("#submit").click(function(event) {
$(this).attr('type','submit');
$(this).click();
});
- 1. 使用jquery提交表单
- 2. 使用jQuery提交表单
- 3. 使用jQuery提交表单
- 4. 禁用jQuery的提交表单提交
- 5. 单击提交表单,但不提交使用jquery和ajax
- 6. 提交后禁用表单使用jQuery
- 7. 用Jquery提交表单
- 8. 用jquery提交表单
- 9. jQuery表单提交
- 10. jquery表单提交
- 11. jQuery表单提交
- 12. JQuery - 表单提交
- 13. jquery表单提交
- 14. Jquery表单提交
- 15. 如何使用JQuery UI提交表单?
- 16. 如何使用jQuery .submit提交表单?
- 17. 使用Ajax,PHP和jQuery提交表单
- 18. 表单提交使用jquery和mvc
- 19. 使用jQuery停止表单提交
- 20. 使用SimpleModal提交Ajax表单(jQuery)
- 21. 使用Ajax/JQuery的表单提交
- 22. 无法使用JQuery提交表单
- 23. 识别使用JQuery提交的表单
- 24. 提交表单时:使用jQuery选择
- 25. 在ASP.NET中使用jQuery提交表单
- 26. 表单提交回调(使用jQuery)
- 27. 使用JQuery延迟表单提交
- 28. 使用jQuery和Ajax提交Rails表单
- 29. 使用Ajax和jQuery提交表单
- 30. 使用AJAX和jQuery提交表单
这是连击的“ID提交表单”比找到的第一个表单并提交。然而,将作品完美,如果只有一次一个表格。 – ChintanThummar 2017-05-23 09:39:26