• <kbd id="qyk40"></kbd>
  • <strike id="qyk40"></strike><samp id="qyk40"><pre id="qyk40"></pre></samp>

    如果您對(duì) jQuery 不是很熟悉,它本質(zhì)上是一個(gè) JavaScript 庫(kù),使 JavaScript 開(kāi)發(fā)變得很容易。它使所需的代碼量最小化,因?yàn)樗性S多內(nèi)置功能,這樣您就不再需要為這些功能編寫(xiě)客戶端函數(shù)或?qū)ο罅恕8嘈畔⒑拖螺d jQuery 庫(kù)的鏈接,見(jiàn) 參考資料;或者,如您在所有代碼樣例中看到的那樣,可以直接嵌入 jQuery 庫(kù)的當(dāng)前版本。

    使用 JQUERY 進(jìn)行表單提交

    無(wú)需重載即可提交一個(gè)表單在很多場(chǎng)景中都是很有用的。 例如,有了它,您就可以在提交表單之前使用 JavaScript 代碼驗(yàn)證表單字段,來(lái)在一個(gè)單頁(yè)面應(yīng)用程序中提交表單或者 — 如本文所示— 確定是否用戶名已經(jīng)注冊(cè)過(guò)。使用 jQuery 觸發(fā)一個(gè)表單提交有兩種方法:使用 submit 處理函數(shù)或 click 處理函數(shù)。清單 1 顯示了如何使用 submit 處理函數(shù)提交一個(gè)表單。

    清單 1. 使用 jQuery 的 submit 處理函數(shù)提交表單
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
      $('#submitForm').submit(function(e) {
        alert($('#sample').attr('value'));
        return e.preventDefault();
      });
    });
    </script>
    
    <form id="submitForm" method="post">
      <input type="text" name="sample" id="sample" value="Enter something" />
      <input type="submit" id="submitBtn" value="Submit" />
    </form>

    清單 2 展示如何使用 click 處理函數(shù)提交表單。

    清單 2. 使用 jQuery 的 click 處理函數(shù)提交表單
    <script type="text/javascript" 
        src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
      $('#submitBtn').click(function(e) {
        alert($('#sample').attr('value'));
        return e.preventDefault();
      });
    });
    </script>
    
    <form id="submitForm" method="post">
      <input type="text" name="sample" id="sample" value="Enter something" />
      <input type="submit" id="submitBtn" value="Submit" />
    </form>

    這兩個(gè)清單基本上是一樣的:它們都是嵌入 jQuery 庫(kù)的,在訪問(wèn)任何元素之前使用 ready 處理函數(shù)確認(rèn)頁(yè)面被加載,處理函數(shù)包括相同的代碼。惟一的不同是處理函數(shù)和分配給處理函數(shù)的元素。submit 處理函數(shù)需要分配一個(gè)表單元素,而 click 處理函數(shù),任何可點(diǎn)擊的元素即可 — 本例中是 Submit 按鈕。為了避免提交表單時(shí)刷新頁(yè)面,您必須使用preventDefault 函數(shù)。要訪問(wèn) preventDefault 函數(shù),您必須傳遞處理函數(shù)(即使作為一個(gè)參數(shù))或者使用它訪問(wèn)該函數(shù)。

    盡管以上兩種選擇都是有效的,但 submit 處理函數(shù)更為常用些。然而,有些情況下,您可能又不止一個(gè) Submit 按鈕,這就需要每個(gè)按鈕一個(gè) click 處理函數(shù)。清單 3 展示了這樣一個(gè)必須使用 click 處理函數(shù)的場(chǎng)景,因?yàn)閮蓚€(gè) Submit 按鈕都能觸發(fā)表單提交。

    清單 3. 使用兩個(gè) submit 按鈕提交表單
    <script type="text/javascript" 
        src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript" src="register.js"></script>
    <div id="container">
      <div id="message"></div>
      <form method="post" id="mainform">
        <label for="username">Username</label>
        <input type="text" name="username" id="username" value="" />
    
        <label for="password">Password</label>
        <input type="password" name="password" value="" />
    
        <input type="submit" name="action" id="login" value="Log in" />
    
        <h2>Extra options (registration only)</h2>
    
        <label for="firstname">First name</label>
        <input type="text" name="firstname" value="" />
    
        <label for="lastname">Last name</label>
        <input type="text" name="lastname" value="" />
    
        <label for="email">Email</label>
        <input type="text" name="email" value="" />
    
        <input type="submit" name="action" id="register" value="Register" />
      </form>
    </div>

    注意,在本例中這個(gè)表單可以執(zhí)行多個(gè)活動(dòng):現(xiàn)有用戶可以登錄,新用戶可以通過(guò)輸入附加賬戶信息進(jìn)行注冊(cè)。使用表單上的 submit 處理函數(shù)在這種場(chǎng)景中不能運(yùn)行,因?yàn)樗荒艽_定哪個(gè)按鈕觸發(fā)表單提交。因此,清單 4 使用 click 處理函數(shù)來(lái)確定每個(gè)按鈕采取什么行動(dòng),便于您以后依此處理數(shù)據(jù)。

    清單 4. register.js 中提交按鈕的 Click 處理函數(shù)
    $(document).ready(function() {
      $("#register, #login").click(function(e) {
        var name = ($(event.target).attr('id') == 'register') ? 'Registration' : 'Login';
        return e.preventDefault();
      });
    });

    文檔準(zhǔn)備好后,您需要為 Register  Login 按鈕分配 click 處理函數(shù)。click 處理函數(shù)接收一個(gè)參數(shù),命名為 e(作為事件) 。此事件對(duì)象稍后用來(lái)預(yù)防默認(rèn)表單提交。正如之前代碼所述。當(dāng) click 處理函數(shù)被調(diào)用時(shí),當(dāng)前被點(diǎn)擊的對(duì)象的 ID 被訪問(wèn),用來(lái)確定這是一個(gè)用戶登錄還是一個(gè)新用戶注冊(cè)。

    穩(wěn)定

    產(chǎn)品高可用性高并發(fā)

    貼心

    項(xiàng)目群及時(shí)溝通

    專業(yè)

    產(chǎn)品經(jīng)理1v1支持

    快速

    MVP模式小步快跑

    承諾

    我們選擇聲譽(yù)

    堅(jiān)持

    10年專注高端品質(zhì)開(kāi)發(fā)
    • 返回頂部
    四虎国产精品永免费| 日本久久中文字幕精品| 奇米精品一区二区三区在线观看| 一本色道久久88综合亚洲精品高清| 国产精品亚洲精品爽爽| 波多野结衣久久精品| 国产精品久久久久久福利69堂| 久久精品毛片免费观看| 久久九九国产精品怡红院| 国产三级久久久精品麻豆三级| 精品久人妻去按摩店被黑人按中出| 精品成人一区二区三区免费视频 | 国产国拍亚洲精品福利| 亚洲欧美日韩中文无线码 | 四虎精品成人免费视频| 亚洲av日韩av永久在线观看| 国产av无码久久精品| 国产亚洲精品欧洲在线观看| 国产精品自线在线播放| 精品伊人久久久香线蕉| 国产精品99久久久久久人四虎| 亚洲精品无码国产片| 伊人久久精品无码麻豆一区| 久久频这里精品99香蕉久| 国产精品91视频| 99久久精品日本一区二区免费| 国产精品久久久久…| 国产成人精品日本亚洲专区6| 国产精品素人搭讪在线播放| 国产香蕉一区二区精品视频| 精品黑人一区二区三区| 久久精品国产99久久久古代 | 亚洲精品无码少妇30P| 国产精品久久久久免费a∨| 97久久国产亚洲精品超碰热| 思思re热免费精品视频66| 国产亚洲精品成人AA片| 无码人妻精品内射一二三AV| 国产精品免费观看久久| 无码人妻精品一二三区免费| 精品国产天堂综合一区在线|