使用jquery.form.js提交表單上傳檔案

來源:互聯網
上載者:User

標籤:非同步請求   container   檔案   query   資料顯示   this   音樂   and   item   

方法:

1.formSerilize()  用於序列化表單中的資料,並將其自動整理成適合AJAX非同步請求的URL地址格式。

2.clearForm()   清除表單中所有輸入值的內容。

3.restForm    重設表單中所有的欄位內容。即將所有表單中的欄位恢複到頁面載入時的預設值。

疑問:ajaxForm()與ajaxSubmit()的區別:

答案:$("#form1").ajaxForm();  相當於以下兩行:

 
1234 $("#form1".submit)(function(){ $("#form1").ajaxSubmit();return false;})

也就是說ajaxFrom()會自動阻止表單提交。而ajaxSubmit()不會自動阻止表單提交,想阻止表單提交,要自己return false;

技巧1:如果希望表單提交完成後不跳轉,那麼一行簡單的代碼就能夠實現,幾乎與不使用表單提交是一樣的:

123 $("#MailForm").ajaxSubmit(function(message) {  alert("表單提交已成功!");});

注意:ajaxForm()與ajaxForm()都可以沒有參數或者接受1個參數。該參數既可以是一個回呼函數,也可以是一個options對象。該對象功能非常強大,說明如下:

?
1234567891011 var options={ url:url, //form提交資料的地址 type:type, //form提交的方式(method:post/get) target:target, //伺服器返回的響應資料顯示在元素(Id)號確定 beforeSubmit:function(), //提交前執行的回呼函數 success:function(), //提交成功後執行的回呼函數 dataType:null, //伺服器返回資料類型 clearForm:true, //提交成功後是否清空表單中的欄位值 restForm:true, //提交成功後是否重設表單中的欄位值,即恢複到頁面載入時的狀態 timeout:6000 //佈建要求時間,超過該時間後,自動結束請求,單位(毫秒)。}

例子:

頁面js代碼:

?
12345678910111213141516 <script src="jQuery.1.8.3.js" type="text/javascript"></script><script src="jQuery.Form.js" type="text/javascript"></script><script type="text/javascript">$(function () {  $(":submit").click(function () {    var options = {      url: "indexAjax.aspx",      target: "#div2",      success: function () {        alert("ajax請求成功");      }    };    $("#form1").ajaxForm(options);  })})</script>

頁面HTML代碼:

?
12345678910 <div id="div1"><form id="form1" method="get" action="#">  <p>我的名字:<input type="text" name="name" value="請輸入內容" /></p>  <p>我的偶像是:<input type="radio" name="Idol" value="劉德華" />劉德華  <input type="radio" name="Idol" value="張學友" />張學友</p>  <p>我喜歡的音樂類型:<input type="checkbox" name="musictype" value="1.搖滾">搖滾 <input type="checkbox" name="musictype" value="2.輕鬆">輕柔 <input type="checkbox" name="musictype" value="3.爵士">爵士</p>  <p><input type="submit" value="確認" /></p></form></div><div id="div2"></div>

後台:indexAjax.aspx.cs代碼

123456789 protected void Page_Load(object sender, EventArgs e){  string strName = Request["name"];  string strIdol = Request["Idol"];  string strMusicType = Request["musictype"];  Response.Clear();  Response.Write("我的名字是:" + strName + ";  我的偶像是:" + strIdol + ";  我喜歡的音樂類型:" + strMusicType);  Response.End();}

 

 

自己做的demo:

<form action="" method="POST" name=‘formUpdate‘enctype="multipart/form-data" role="form" id="addActivity" >
    <input type="submit" class="btn btn-info create-activity" value="儲存">
</form>

$(".create-activity").on("click",function(){
  
$("#addActivity").submit(function(){
$(this).ajaxSubmit({
url:"/activity/operate",
success:function(data){
alert(data[‘msg‘])
window.location.href="...."
return false;
},
resetForm:true,
dataType:‘json‘
})
return false;
})
}

 

使用jquery.form.js提交表單上傳檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.