1. 程式人生 > >html5表單+jquery非同步驗證

html5表單+jquery非同步驗證

前一陣子在http://www.w3school.com.cn上學習html5,我感覺這東西給了我一種不一樣的感覺。從我們我們用的最多的表單來說,html5支援自己驗證表單。最後用jquery和jquery.form進行表單的提交。同時還能收到後臺返回的response。實現非同步的表單提交。感覺略爽。一下子我就少些了好多的程式碼。就上一個專案來說,我寫的一大堆的表單驗證。搞到最後還容易出問題。現在有一種撥開迷霧發現新大陸的感覺。給我感觸最深的就是input表單。

<script type="text/javascript" src="../js/jquery-1.4.4.min.js" ></script>
<script type="text/javascript" src="../js/jquery.form.js" ></script>

匯入jquery和jquery.form
<form id="formtest" >
		<input  type="email"  required name="email" placeholder="[email protected]"/>
		<input  type="text"  name="telephone" placeholder="13921219802" pattern="^[1][358][0-9]{9}$" title="例如:13921219802"/>
		<input  id="submit" type="submit" value="提交" ;/>
</form>


效果如上,

 type="email"  指用的email型別,提交表單的時候會自動驗證是否符合格式要求


 placeholder="[email protected]"是在輸入框顯示的東西,提示輸入什麼比如輸入[email protected]類似的東西。 pattern="^[1][358][0-9]{9}$"  正則表示式, title="例如:13921219802"/>當輸入不符合正則表示式時候會提示這個資訊
required這欄位出現表示這是必填欄位。

這些都是html5上的表單驗證,關鍵的是在下面,如果我們想要提交form表單後頁面不跳轉,或者說是收到後臺返回的資料後選擇操作,那麼我麼就需要非同步請求。

<script type="text/javascript">
            $(document).ready(function() {
                var options = { 
                    //target:        '#output2',   // target element(s) to be updated with server response
                    beforeSubmit:  showRequest,  // pre-submit callback
                    success:      function(response){
                    	showResponse(response);
                    } ,  // post-submit callback
 
                    // other available options: 
                    url:       "/SpringTest/testform.do",        // override for form's 'action' attribute
                    type:      "post"        // 'get' or 'post', override for form's 'method' attribute
                    //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
                    //clearForm: true        // clear all form fields after successful submit 
                    //resetForm: true        // reset the form after successful submit 
 
                    // $.ajax options can be used here too, for example: 
                    //timeout:   3000 
                };
               // 繫結表單提交事件處理器
                $("#formtest").submit(function() {
                    //提交表單
                    $(this).ajaxSubmit(options);

                    // !!! Important !!!
                    // 為了防止普通瀏覽器進行表單提交和產生頁面導航(防止頁面重新整理?)返回false
                    return false;
                });
                // pre-submit callback
                function showRequest() {
                    alert("before submit");
                    return true;//返回true才可以進行下一步
                } 
                // post-submit callback
                function showResponse(response) {
                    alert("submit success"+response);
                }
            });
  		
  	</script>

beforeSubmit和success指定兩個回撥函式,beforeSubmit是在提交前的操作,比如是否確認提交,    function showRequest() {                     alert("before submit");                     return true;//返回true才可以進行下一步      }  就是提交前的操作,返回true才可以下一步操作,進行提交, success我們可以獲得後臺返回的資料 我們拿到後臺資料後就可以根據資料來做不同的操作,比如返回false,你可以提示此賬戶已經註冊過,請重新填寫之類什麼的。 url 請求地址,不多說 type 請求方式  不多說。 但是有一點要注意,比如我們用不支援html5的瀏覽器,比如IE6,這些不會沒有用,什麼驗證全部都沒有用的,也就是我們輸入什麼就能往後臺提交什麼。這就是很不安全的。所以為了安全,還是要通過jquery來寫各種正則表示式的格式驗證,html5看上去很方便,但是瀏覽器不支援還是很不安全的。

相關推薦

html5+jquery非同步驗證

前一陣子在http://www.w3school.com.cn上學習html5,我感覺這東西給了我一種不一樣的感覺。從我們我們用的最多的表單來說,html5支援自己驗證表單。最後用jquery和jquery.form進行表單的提交。同時還能收到後臺返回的response。實

華麗的CSS3+HTML5客戶端驗證

最近學習CSS3,看到一個很好的表單驗證,和大家一起仿作一下。 本資源已上傳的我的CSDN 預覽效果: 1.首先從DREAMWEAVER 上把W3C標準的HTML空檔案拿過來 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

jQuery html5Validate基於HTML5驗證外掛

解決了之前元件如下不足: 1. 自定義驗證順序有問題; 2. 即時驗證支援沒內建; 3. 不能隨意定製驗證規則; 等等。 今年會開源,大家稍安~ 更新於2016-07-08 又有不少人問了,開源還需要時日。不過大家現在是可以使用的,下面是最簡單使用,需要sea

HTML5及其驗證

最小值 標準 pattern maxlength phone box reg 再次 其中 HTML5表單及其驗證 HTML表單一直都是Web的核心技術之一,有了它我們才能在Web上進行各種各樣的應用。HTML5 Forms新增了許多新控件及其API,方便我們做更復雜

html5自動驗證2:必須是字母開頭驗證

最近在做一個表單驗證,之前的要求是***包含英文大小寫字母、數字、下劃線和減號,現在多加了個條件***須是以字母開頭,在網上學了很多方法,但都是用的js,而我想要的是html5的智慧驗證,不用js,以簡單的粗暴方法來完成,吶,下面直接貼程式碼啦 <input type="tex

html5自動驗證1

//css樣式開始: *{ margin:0px; padding:0px; border:0px; text-decoration:none; list-style:none;} form{ width:450px; margin

jquery ajax 實現提交和驗證

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <title>$.ajax()方法傳送請

HTML5+Javascript註冊和驗證練習

//html5.html <!DOCTYPE html> <!DOCTYPE html> <html> <head> <meta c

jquery非同步提交非同步上傳檔案)及jquery.form.js上傳檔案注意事項

方法一:jquery的ajax方式,通過FormaData獲取表單資料 (1)這種方式只需要jquery-1.7.js外掛; (2)通過`jquery中的FormaData類: 自動搜尋表單資訊(表單內沒有name屬性的input不會被搜尋到),IE<=9

html5pattern屬性配合正則驗證電話和手機號碼

[b]正則解析[/b] “^\d+$”  //非負整數(正整數 + 0) “^[0-9]*[1-9][0-9]*$”  //正整數 “^((-\d+)|(0+))$”  //非正整數(負整數 + 0) “^-[0-9]*[1-9][0-9]*$”  //負整數 “^-?\d+$”    //整數 “^\d+(

jQuery easyui 取消的實時驗證,在提交時統一驗證

在使用easyui驗證表單的必輸、格式等資訊時,如果在每個input中輸入 data-options="required:true",那麼文字框一開始就會用紅顏色提示,感覺不友好,其實驗證可以放到表單

HTML5 基礎(4)—— HTML5新屬性的使用和驗證

一、HTML5表單常用屬性 這些都是比較常用的 屬性名 說明 placeholder 在輸入框無內容時顯示灰色提示 autocomplete 部分輸入框和form都可以設定自動提示 off關閉,on開啟(預設是on)

HTML5

action 網頁 不能 use 定時 tip 顯示 b2c file 新增的input輸入類型 HTML5中增加了表單方面的諸多功能,包括增加input輸入類型、表單元素、form屬性和input屬性等。 新的input輸入類型 email類型的input元素是一種專門

html5 填表 select 下拉 textarea多行文本 output Js計算結果

size area 如果 out ctrl select png 多行文本 賦值 <select> 下拉 <select>下有很多屬性 name 其實有name就有value了,因為button提交的都是? nam

js 對的一些驗證及正則匹配

攻擊 update 匹配規則 asc htm out gin lease public 利用的是jq的validate.js 詳見菜鳥教程http://www.runoob.com/jquery/jquery-plugin-validate.html 以下是我測試的幾個文件

正則驗證及文件上傳驗證

特殊 email地址 常用 clas isset move 一個 包含 是否 表單正則驗證主要是用來對表單提交信息的過濾,防止sql註入(比如登錄界面),上傳的文件也需要進行文件名後綴和大小進行驗證,下面是一個簡單的表單驗證 1 header("Content-type

HTML5 提交實例

技術 names java utf-8 分享 img mage text src html <!DOCTYPE html> <html> <head> <title>表單</title> &

html5-的綜合實例

padding ace leg tel use radi css label 電子郵箱 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

JavaScript 、約束驗證 DOM 屬性

reference 輸入數據 tom 無效 ntb validity 偽類選擇器 htm ons 1.JavaScript 表單 1.1JavaScript 表單驗證 HTML 表單驗證可以通過 JavaScript 來完成。 以下實例代碼用於判斷表單字段(fname)值

vue2.X+elementUI自定義驗證

blur 條件 temp 通過 ren ber ima 這一 hone <template> <div class="taxi-appointment-dairen"> <el-form :model="ruleForm" :ru