使用jQuery.form庫中ajaxSubmit提交表單時遇到的一些問題

来源:http://www.cnblogs.com/lljiang/archive/2017/08/08/7309751.html
-Advertisement-
Play Games

初入前端,網上找的很多資料都不夠詳細,導致遇到很多問題,現記錄如下: 1.首先引入 <script src="~/Scripts/jquery-1.10.2.js"></script> <script src="~/Scripts/jquery.form.js"></script> 這個兩個 腳本庫 ...


初入前端,網上找的很多資料都不夠詳細,導致遇到很多問題,現記錄如下:

1.首先引入

<script src="~/Scripts/jquery-1.10.2.js"></script>

<script src="~/Scripts/jquery.form.js"></script>

這個兩個 腳本庫,src屬性為路徑,註意順序,form為jQuery的一個子庫,因此放在後面。

2.js衝突。

我是在mvc下開發,引入庫後運行提示ajaxSubmit函數找不到,ie會直接報異常,百度瀏覽器不會報異常,需要進入瀏覽器調試模式下發現。

百度了很久,多數都是說沒有引入form庫,也有少數的人說是由於js庫衝突所致,子頁面中引入的js庫與母版頁或佈局頁引入的js庫衝突,沒有找到明確的解決辦法,

遂到佈局頁查看引入了哪些js庫,查看到佈局頁中使用

    @Scripts.Render("~/bundles/modernizr")

讀取js文件,又查找相關資料發現,如果要在子頁面引入其它js文件,應該使用下麵方式,

@section scripts
        {
            <script src="~/Scripts/jquery.form.js"></script>
        }

放在@section scripts塊中。

3.刷新問題,這個問題是由於提交按鈕type設置為submit導致,本身submit會自動執行當前視圖的預設控制器方法,而又在按鈕的單擊事件中執行提交,從而進行刷新。

切記,使用ajaxSubmit等其它方式提交時,input標簽type一定設置為button,不然多此一舉。

4.ajaxSubmit沒有提交,沒有跳轉到相應的控制器方法。
最開始使用的js代碼:

function AddPicture_Click() {

        var options = {
            url: "/GraphicPublicize/Add", // 要調用的控制器方法
            type: "post",
            data: {
                "typeName": $("#type_list").find("[class='type_list_selected']").text(),
            }, // 傳遞的數據
            beforeSubmit: ValidationBeforeSubmit, // 提交之前的回調函數
            success: ResponseAfterSuccess, // 提交之後返回的回調函數

        };
        jQuery('#Form').submit(function () {
        $("#Form").ajaxSubmit(options);
            return false;
        });

        return;
    }

此函數綁定到按鈕的單擊事件上。此方式無效,跟蹤js明明執行了,但是回調函數和後端代碼都沒有執行。

之後改為:

function AddPicture_Click() {

        var options = {
            url: "/GraphicPublicize/Add", // 要調用的控制器方法
            type: "post",
            data: {
                "typeName": $("#type_list").find("[class='type_list_selected']").text(),
            }, // 傳遞的數據
            beforeSubmit: ValidationBeforeSubmit, // 提交之前的回調函數
            success: ResponseAfterSuccess, // 提交之後返回的回調函數

        };
       // jQuery('#Form').submit(function () {            // 屏蔽這幾行代碼
        $("#Form").ajaxSubmit(options);
          //  return false;
        //});

        return;
    }

  遂執行提交成功,什麼原因我也不曉得。

5.傳遞數據問題,網上說照這樣是可以傳的,

var options = {
            url: "/GraphicPublicize/Add", // 要調用的控制器方法
            type: "post",
            data: {
                "typeName": $("#type_list").find("[class='type_list_selected']").text(),
            }, // 傳遞的數據
            beforeSubmit: ValidationBeforeSubmit, // 提交之前的回調函數
            success: ResponseAfterSuccess, // 提交之後返回的回調函數

        };

實測不行,還有說jquery.form.js文件源碼不全,建議重新下載,還是不行,不知原因,又發現request中的param集合中有我需要的數據就沒管了。
    關於ajaxSubmit可另行參考http://www.cnblogs.com/Leo_wl/p/4393190.html#undefined。

質量不咋的,請指教。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.直接使用歸檔文件安裝yii2的高級模板: 從 yiiframework.com 下載歸檔文件。 下載yii2的高級模板的壓縮文件, 將yii-advanced-app-2.0.12文件夾複製到項目的目錄中如下: 查看yii-advanced-app-2.0.12的子集目錄發現有backend和f ...
  • 題目鏈接 Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. Ther ...
  • https://glot.io/new/php ...
  • 給出一個問題,如下: 解決方案如下: 執行這段代碼發現問題,就是同一張票號可能被多個售票視窗出售,惹禍的代碼就是if else語句塊。 解決方法就是在需要同步的代碼段用synchronized(Object){你要同步的代碼}即可。 修改後代碼如下: 執行這段代碼發現出票正常了。 線程1正執行需要做 ...
  • 流程圖: Code: 新建的兩個.txt文件 user.txt中列舉的用戶名,密碼 ...
  • 好久沒有更新博客了,今天搞了快一天的網頁自適應,頭暈。。。因為最近開始做項目,項目中需要用到圖表方面的知識,於是乎接觸到了echarts,所以其實我也算是新手了。只是近幾天弄了很久的關於圖表隱藏之後再次顯示,卻無法顯示出來的問題。在網上也搜尋了好久。都沒有特別對口的答案,echarts圖表一直是顯示 ...
  • 由於工作太忙,一直沒時間更新博客,之前有很多朋友一直問我什麼時候將後續的代碼發上來,一直沒時間,今天就長話短說,不寫文章了,直接上demo,裡面將正式項目中用到的一些敏感信息修改了,要使用的話下載後自行修改。 Demo:https://github.com/landonzeng/SignalRBus ...
  • 我的學習筆記是根據我的學習情況來定期更新的,預計2 3天更新一章,主要是給大家分享一下,我所學到的知識,如果有什麼錯誤請在評論中指點出來,我一定虛心接受,那麼廢話不多說開始我們今天的學習分享吧! 前幾次已經和大家分享過了,如何實現javascript的封裝繼承和多態,這次我們開始正式介紹javasc ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...