解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問題
文章來自:https://blog.csdn.net/qq_38215042/article/details/84675988
具體代碼如下所述:
if(條件語句){ return false; }else{ return true; } if(條件語句){ return false; }else{ return true; } if(條件語句){ return false; }else{ return true; }
你寫的是不是上面這種情況?其實(shí)會(huì)出現(xiàn)只執(zhí)行了第一個(gè)這種情況,主要是你在if else語句中都加入了,return 用來返回結(jié)果,這種方式其實(shí)是沒有錯(cuò)的,邏輯也很通順,不過你仔細(xì)想一想,你提交的時(shí)候如果返回的是true的話,那么你的form表單就相當(dāng)于收到了一個(gè)可以提交的命令,那么他就會(huì)進(jìn)行表單提交,后面的if else語句就不會(huì)執(zhí)行了。
解決的方法:我用的是一種標(biāo)記,先全部給他們true,如果后面的if語句條件判斷為false,就彈出一個(gè)彈框進(jìn)行提示,直到全部都符合條件了,才會(huì)給form表單返回一個(gè)true.進(jìn)行表單提交。
有好的方法歡迎評(píng)論呦~~~~~~~~~
1:js代碼
需要引入jquery
<script type="text/javascript"> function checkForm() { var productName = true; var chanDi = true; var muChanLiang = true; var zongChanLiang = true; var xiangQiang = true; var yuShouJia = true; var phone = true; var pattern = /^1[34578]\d{9}$/; //驗(yàn)證手機(jī)號(hào)正則表達(dá)式 if ($("#userName") == "") { alert("請(qǐng)輸入產(chǎn)品名稱!"); /* alert($("#gsp_add_img_23").val()); */ productName = false; } else if ($("#candi").val() == "") { alert("請(qǐng)輸入產(chǎn)地!"); chanDi = false; } else if ($("#muchan").val() == "") { alert("請(qǐng)輸入畝產(chǎn)量!"); muChanLiang = false; }else if ($("#zongChan").val() == "") { alert("請(qǐng)輸入總產(chǎn)量!"); zongChanLiang = false; } else if ($("#xiangqing").val() == "") { alert("請(qǐng)輸入產(chǎn)品詳情!"); xiangQiang = false; } else if ($("#yushoujia").val() == "") { alert("請(qǐng)輸入預(yù)售價(jià)!"); yuShouJia = false; } else if (!pattern.test($("#userPhone").val())) { alert("手機(jī)號(hào)格式錯(cuò)誤"); phone = false; } if (productName == true && chanDi == true && muChanLiang == true && zongChanLiang == true && xiangQiang == true && yuShouJia == true && phone == true) { $("#ListForm").submit(); } } </script>
2:form表單
<form action="$!webPath/new/fl_npsh.htm" method="post" name="ListForm" id="ListForm" enctype="multipart/form-data" > <!-- 類似首頁樓層模塊 --> <div style="width: 1020px; margin: 0 auto;"> <div class="floor floor_purple" style="width: 1011px; border-top: 1px solid #eee;"> <div class="liebiao" <!-- 給后臺(tái)傳一個(gè)id --> <input name="id" type="hidden" id="id" value="$!obj.id" /> </div> <div class="liebiao"> <!-- <span class="liebiao_left" style="color:red">*</span> --> <span class="liebiao_left">產(chǎn)品名稱:</span> <input id="userName" type="text" name="product_name" class="shuruk" placeholder="例:靈寶SOD蘋果(*必填項(xiàng) *)" /> </div> <div class="liebiao"> <span class="liebiao_left">產(chǎn)品產(chǎn)地:</span> <input type="text" value="" name="product_origin" class="shuruk" id="candi" placeholder="例:靈寶寺河山(*必填項(xiàng) *)" /> </div> <div class="liebiao"> <span class="liebiao_left">產(chǎn)品畝產(chǎn)量:</span> <input type="text" value="" name="mu_yield" class="shuruk" id="muchan" placeholder="例:每畝產(chǎn)量(*必填項(xiàng) *)" /> </div> <div class="liebiao"> <span class="liebiao_left">產(chǎn)品總產(chǎn)量:</span> <input type="text" value="" name="sum_yield" class="shuruk" placeholder="例:總產(chǎn)量(*必填項(xiàng) *)" id = 'zongChan'/> </div> <div class="liebiao" style="height: 60px;"> <span class="liebiao_left" style="display: inline-block; height: 60px; line-height: 30px; float: left;">產(chǎn)品詳情:</span> <textarea type="text" value="" id="xiangqing" name="product_details" class="shuruk02" placeholder="例:產(chǎn)品種植標(biāo)準(zhǔn)、產(chǎn)品優(yōu)點(diǎn)、產(chǎn)品性能、儲(chǔ)存注意事項(xiàng)等(*必填項(xiàng) *)"></textarea> </div> <div class="liebiao"> <span class="liebiao_left">產(chǎn)品預(yù)售參考價(jià):</span> <input type="text" value="" id="yushoujia" name="advance_price" class="shuruk" placeholder="例:以每500g為單位(*必填項(xiàng) *)" /> </div> <div class="liebiao"> <span class="liebiao_left">站主聯(lián)系方式:</span> <input id="userPhone" value="" name="phone" class="shuruk" placeholder="(*必填項(xiàng) *)" /> </div> <div class="liebiao" style="margin-top: 30px;"> <input type="button" value="立即申請(qǐng)" class="tijiao" onclick="checkForm()"> </div> </div> </div> </form>
總結(jié)
以上所述是小編給大家介紹的解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- layui.js實(shí)現(xiàn)的表單驗(yàn)證功能示例
- AngularJS實(shí)現(xiàn)的獲取焦點(diǎn)及失去焦點(diǎn)時(shí)的表單驗(yàn)證功能示例
- JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能完整實(shí)例
- 最常用的15個(gè)前端表單驗(yàn)證JS正則表達(dá)式
- Angualrjs 表單驗(yàn)證的兩種方式(失去焦點(diǎn)驗(yàn)證和點(diǎn)擊提交驗(yàn)證)
- JavaScript表單驗(yàn)證完美代碼
- bootstrap Validator 模態(tài)框、jsp、表單驗(yàn)證 Ajax提交功能
- js瀏覽器html5表單驗(yàn)證
相關(guān)文章
JS localStorage實(shí)現(xiàn)本地緩存的方法
JS localStorage實(shí)現(xiàn)本地緩存的方法,需要的朋友可以參考一下2013-06-06three.js利用gpu選取物體并計(jì)算交點(diǎn)位置的方法示例
這篇文章主要給大家介紹了關(guān)于three.js利用gpu選取物體并計(jì)算交點(diǎn)位置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11javascript中JSON對(duì)象與JSON字符串相互轉(zhuǎn)換實(shí)例
這篇文章主要介紹了javascript中JSON對(duì)象與JSON字符串相互轉(zhuǎn)換,實(shí)例分析了json對(duì)象與字符串常用的幾種轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07javascript html5移動(dòng)端輕松實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了javascript html5移動(dòng)端輕松實(shí)現(xiàn)文件上傳的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03IE6、IE7、Firefox javascript 無提示關(guān)閉窗口的代碼
2009-03-03JavaScript使用canvas實(shí)現(xiàn)手寫簽名功能
最近遇到一個(gè)h5手寫簽名的需求,按理說這種功能網(wǎng)上隨便一搜一大把現(xiàn)成的源碼和組件,但是像這種比較經(jīng)典又很簡(jiǎn)單的功能,還是要弄清楚到底怎么實(shí)現(xiàn)的,所以接下來本文就給大家介紹一下如何用canvas實(shí)現(xiàn)手寫簽名功能2023-08-08javascript實(shí)現(xiàn)粘貼qq截圖功能(clipboardData)
這篇文章主要介紹了javascript實(shí)現(xiàn)粘貼qq截圖功能,利用clipboardData在網(wǎng)頁中實(shí)現(xiàn)截屏粘貼的功能,感興趣的小伙伴們可以參考一下2016-05-05