Ajaxsubmit表单提交
在有些項(xiàng)目的部分新增、刪除、查詢、修改 中有時(shí)新增和修改的模態(tài)框是一樣的,所以為了減少代碼量,新增和修改就共用一個(gè)模態(tài)框,在減少代碼量的同時(shí)有提高了打代碼的速率。ajaxSubmit()提交表單:我們直接通過(guò)form提交的話,提交后當(dāng)前頁(yè)面跳轉(zhuǎn)到form的action所指向的頁(yè)面。然而,很多時(shí)候我們并不希望提交表單后頁(yè)面跳轉(zhuǎn),那么,我們就可以使用ajaxSubmit(obj)來(lái)提交數(shù)據(jù)ajaxSubmit(obj)方法是jQuery的一個(gè)插件jquery.form.js里面的方法,所以使用此方法需要先引入這個(gè)插件,而在使用ajaxSubmit()的過(guò)程中,提交表單的各個(gè)字段的name是和控制器那邊接收到的參數(shù)字段是一致的,在這里我給大家演示表單name和控制器那邊接收參數(shù)不一致出現(xiàn)的情況以及解決方法。
頁(yè)面代碼:下面是表單的一部分,因?yàn)槎际穷愃频?#xff0c;所以就列舉兩個(gè)來(lái)說(shuō)明。在下面我們可以看出下拉框中的name一個(gè)是部門名稱DeoartmentName ,另一個(gè)是職位Position
3. 再看表單是否獲取到對(duì)應(yīng)的值:無(wú)論是新增還是修改首先都要先獲取到表單值,判斷數(shù)據(jù)的完整性。在頁(yè)面控制器中我使用了斷點(diǎn),很明顯的看出,部門Deopatment、職位Position 都是拿到了相對(duì)應(yīng)的值。我們?cè)俚娇刂破骺词欠窠邮盏较鄬?duì)應(yīng)的參數(shù)值
4.控制器:為了可以看出效果,在控制器這邊我也斷了點(diǎn),從下面的截圖中不難看出部門DepartmentID的值為null,職位PositionID的值為0,說(shuō)明控制器這邊的這兩個(gè)參數(shù)并沒(méi)有接收到相對(duì)應(yīng)的值。為了解決這個(gè)問(wèn)題,我做了下面的操作。
5 . DeoartmentName —>DepartmentID,Position—>PositionID。把表單的 name 改成和控制器這邊接收參數(shù)的字段一致。這樣在頁(yè)面這邊獲取表單值的部門和職業(yè)的 name 也要改,因?yàn)槭歉鶕?jù) name 來(lái)拿到相對(duì)應(yīng)的值。
6 .下面是修改后的截圖,可以看到,之前為空的DepartmentID和值為0的PositionID現(xiàn)在都拿到了相對(duì)應(yīng)的值。
7.總結(jié):經(jīng)過(guò)一段時(shí)間的ASP.NET MVC 學(xué)習(xí),從一開(kāi)始看著老師代碼敲,也不怎么理解意思,以為把代碼敲完就會(huì)了,到了真正自己打的時(shí)候,都不知道如何下手,就像這個(gè)ajaxSubmit() 提交表單一樣,聽(tīng)了好多次,但都沒(méi)注意到這些細(xì)節(jié),心里還想著這些參數(shù)是怎樣傳遞的。現(xiàn)在是知道了原來(lái)傳遞的參數(shù)是跟form里面的name 保持一致這樣在控制器那邊才能接收到相對(duì)應(yīng)參數(shù)。在著期間學(xué)會(huì)斷點(diǎn),對(duì)數(shù)據(jù)的來(lái)源和操作流程都有了更一步的理解。
總結(jié)
以上是生活随笔為你收集整理的Ajaxsubmit表单提交的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java防止sql注入的几个途径_Jav
- 下一篇: bzoj3524 [Poi2014]C