我想用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