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