jquery提交表單有兩種情況: 1:jquery只做提交用。 $("form").submit(); 這個的表單提交到什么地方的是更具form元素里面的action屬性去定義的。 2:jquery用ajax提交數(shù)據(jù)。 $.ajax({ type:"post", url:"xxx.php", // 這里是提交到什么地方的url...
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供福清網(wǎng)站建設(shè)、福清做網(wǎng)站、福清網(wǎng)站設(shè)計、福清網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、福清企業(yè)網(wǎng)站模板建站服務(wù),十余年福清做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
在form表單中添加id:form id="formId"/form,
buttom按鈕進(jìn)行提交,加onclick="js函數(shù)",
然后在js函數(shù)中$("#formId").submit()。
這篇文章主要介紹了jquery提交form表單時禁止重復(fù)提交的方法,需要的朋友可以參考下
代碼如下:
$(document).ready(function()
{
$('form').submit(function()
{
if(typeof
jQuery.data(this,
"disabledOnSubmit")
==
'undefined')
{
jQuery.data(this,
"disabledOnSubmit",
{
submited:
true
});
$('input[type=submit],
input[type=button]',
this).each(function()
{
$(this).attr("disabled",
"disabled");
});
return
true;
}
else
{
return
false;
}
});
});
第一步:引用js
!--這里的min是自己用js壓縮工具對完整版進(jìn)行的壓縮
并不是真正的min,所以好使--
script?type="text/javascript"?src="js/jquery-1.7.min.js"/script
script?type="text/javascript"?src="js/jquery.form.js"/script
第二步:頁面寫form
form?id="showDataForm"?
action="/024pm/f_shopUser.do?method=login"?method="post"
input?type="text"?value=""?name="name"?maxlength="2"/
input?type="password"?value=""?name="password"?maxlength="2"/
input?type="submit"?value="提交"/
/form
div?id="output1"?
style="width:1000px;height:200px;"
/div
第三步:寫js調(diào)用jquery.form.js,對form表單進(jìn)行ajax提交
$(document).ready(function()?{
var?options?=?{
target:?'#output1',
//?從服務(wù)傳過來的數(shù)據(jù)顯示在這個div內(nèi)部
也就是ajax局部刷新
beforeSubmit:?showRequest,
//?ajax提交之前的處理
success:??showResponse
//?處理之后的處理
};
$('#showDataForm').submit(function()?{
$(this).ajaxSubmit(options);
return?false;?
//非常重要,如果是false,則表明是不跳轉(zhuǎn)
//在本頁上處理,也就是ajax,如果是非false,則傳統(tǒng)的form跳轉(zhuǎn)。
});
});
function?showResponse(responseText,?statusText,?xhr,?$form)?{
alert(xhr.responseText+"=="+$form.attr("method")+'status:?'?+?
statusText?+?'\n\nresponseText:?\n'?+?responseText);
//xhr:說明你可以用ajax來自己再次發(fā)出請求
//$form:是那個form對象,是一個jquery對象
//statusText:狀態(tài),成功則為success
//responseText,服務(wù)器返回的是字符串(當(dāng)然包括html,不包括json)
}
function?showRequest(formData,?jqForm,?options)?{
//formData是數(shù)組,就是各個input的鍵值map數(shù)組
//通過這個方法來進(jìn)行處理出來拼湊出來字符串。
//formData:拼湊出來的form字符串,比如name=herapassword,
//其實(shí)就是各個表單中的input的鍵值對,
//如果加上method=XXXX,那也就是相當(dāng)于ajax內(nèi)的data。
var?queryString?=?$.param(formData);
alert(queryString+"======"+formData.length);
for?(var?i=0;?i??formData.length;?i++)?{
alert(formData[i].value+"==============="+formData[i].name);
}
//jqForm,jquery?form對象
var?formElement?=?jqForm[0];
alert($(formElement).attr("method"));
alert($(jqForm[0].name).attr("maxlength"));
//非常重要,返回true則說明在提交ajax之前你驗(yàn)證
//成功,則提交ajax?form
//如果驗(yàn)證不成功,則返回非true,不提交
return?true;
}
options對象內(nèi)的值有哪些?
var?options?=?{
target:?'#output1',?
data:{param1:"我自己的第一個額外的參數(shù)"},
//這個參數(shù)是指通過ajax來給服務(wù)器提交除了form內(nèi)部input的參數(shù)
//在后臺中使用String?param1=req.getParameter("param1");獲取。
//?dataType:?null,
dataType:'json',
//這個參數(shù)值的是服務(wù)器返回的數(shù)據(jù)類型,默認(rèn)的是null
//也就是服務(wù)器可以默認(rèn)返回字符串,然后將這些字符串放在target內(nèi)部
//當(dāng)然還有json、xml,其中最常用的便是null和json
//對于span?style="color:?#333333;"a?href=""?target="_blank"span?style="color:?#333333;"json/span/a/span的使用,我們會稍后講解到
beforeSubmit:?showRequest,
success:??successRes,
type:'POST'
//提交方式,默認(rèn)是自己在form標(biāo)簽上指定的method
//如果沒有指定,則使用get。
url:''
//重新提交的url,即url可以在form中配置
//也可以在這里配置。
};
如果你是想 ajax提交帶文件的表單,那真的沒法做,
基本都是用iframe模擬 異步提交的···
jquery.form.js 提交帶文件的表單,也是 用iframe模擬 異步提交的
$("#btnUpload").click(function () {
8 if ($("#flUpload").val() == "") {
9 alert("請選擇一個圖片文件,再點(diǎn)擊上傳。");
10 return;
11 }
12 $('#UpLoadForm').ajaxSubmit({
13 success: function (html, status) {
14 var result = html.replace("pre", "");
15 result = result.replace("/pre", "");
16 $("#image").attr('src', result);
17 alert(result);
18 }
19 });
20 });