【文章來源】由於自己對於form研究甚少,所以一直用的都是AJAX進行提交,這次後臺提出要用form提交,順便深入研究一下;之前在做表單的時候,發現input可以通過設置不同的type屬性,調用不同的移動端軟鍵盤,但是對於軟鍵盤中的【搜索】和【前往】不知道怎麼進行控制 【form 和 ajax 區別 ...
【文章來源】由於自己對於form研究甚少,所以一直用的都是AJAX進行提交,這次後臺提出要用form提交,順便深入研究一下;之前在做表單的時候,發現input可以通過設置不同的type屬性,調用不同的移動端軟鍵盤,但是對於軟鍵盤中的【搜索】和【前往】不知道怎麼進行控制
【form 和 ajax 區別】
Ajax提交是通過js來提交請求,請求與響應均由js引擎來處理,頁面不會刷新,用戶感覺不到實際上瀏覽器發出了請求。如我們想要改變頁面局部內容的時候,使用Ajax進行刷新不會引起整體頁面重新載入的現象,交互良好
使用AJAX,用戶對Web的體驗會更“敏捷”:數據提交頁面不會閃屏;頁面局部更新速度快;網路帶寬占用低。
AJAX開發相較傳統模式的簡單之處:傳統模式下,表單提交則整個頁面重繪,為了維持頁面用戶對錶單的狀態改變,要多些不少代碼。 要在控制器和模板之間傳遞更多參數以保持頁面狀態。而AJAX不然,因為頁面只是局部更新, 不關心也不會影響頁面其他部分的內容。
AJAX開發相較傳統模式的難度:需要瞭解、精通JavaScript,而JavaScript存在調試麻煩、瀏覽器相容性等很多障礙。不過這方面目前來看早已不是什麼難點了
【1】Ajax在提交、請求、接收時,都是非同步進行的,網頁不需要刷新;
Form提交則是新建一個頁面,哪怕是提交給自己本身的頁面,也是需要刷新的;
【2】Ajax在提交時,是在後臺新建一個請求;
Form卻是放棄本頁面,而後再請求;
【3】Ajax必須要使用JS來實現,不啟用JS的瀏覽器,無法完成該操作;
Form卻是瀏覽器的本能,無論是否開啟JS,都可以提交表單;
【4】Ajax在提交、請求、接收時,整個過程都需要使用程式來對其數據進行處理;
Form提交時,卻是根據你的表單結構自動完成,不需要代碼干預;
【關於調用軟鍵盤問題】
目前經過測試使用傳統的form提交,軟鍵盤可以進行調用,功能和直接點擊提交時一樣的。值得註意的是,點擊軟鍵盤可以進行提交表單操作,但對於表單中提交按鈕本身不會進行觸發,也就是點擊軟鍵盤【搜索】或【前往】不會觸發【提交按鈕】點擊事件
Ajax目前還沒有找到如何調用軟鍵盤的方法
【input屬性type2016年12月7日親自測試總結】
屬性為 == email ==,調用郵件軟鍵盤
屬性為 == url ==,調用網址軟鍵盤
屬性為 == search ==,調用帶有【搜索】按鈕的軟鍵盤
屬性為 == tel ==,調用全數字鍵盤
屬性為 == number ==,調用帶有拼音的數字軟鍵盤
總結:這部分屬於筆記記錄方便我個人即使查看