解決JS表單驗(yàn)證只有第一個(gè)IF起作用的問(wèn)題
文章來(lái)自:https://blog.csdn.net/qq_38215042/article/details/84675988
具體代碼如下所述:
if(條件語(yǔ)句){
return false;
}else{
return true;
}
if(條件語(yǔ)句){
return false;
}else{
return true;
}
if(條件語(yǔ)句){
return false;
}else{
return true;
}
你寫的是不是上面這種情況?其實(shí)會(huì)出現(xiàn)只執(zhí)行了第一個(gè)這種情況,主要是你在if else語(yǔ)句中都加入了,return 用來(lái)返回結(jié)果,這種方式其實(shí)是沒有錯(cuò)的,邏輯也很通順,不過(guò)你仔細(xì)想一想,你提交的時(shí)候如果返回的是true的話,那么你的form表單就相當(dāng)于收到了一個(gè)可以提交的命令,那么他就會(huì)進(jìn)行表單提交,后面的if else語(yǔ)句就不會(huì)執(zhí)行了。
解決的方法:我用的是一種標(biāo)記,先全部給他們true,如果后面的if語(yǔ)句條件判斷為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" >
<!-- 類似首頁(yè)樓層模塊 -->
<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起作用的問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(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)文章
JavaScript 產(chǎn)生不重復(fù)的隨機(jī)數(shù)三種實(shí)現(xiàn)思路
在 JavaScript 中,一般產(chǎn)生的隨機(jī)數(shù)會(huì)重復(fù),但是有時(shí)我們需要不重復(fù)的隨機(jī)數(shù),如何實(shí)現(xiàn)?本文給于解決方法,需要的朋友可以參考下2012-12-12
JavaScript動(dòng)態(tài)添加事件之事件委托
動(dòng)態(tài)添加事件實(shí)質(zhì)就是指js中的事件委托。本文給大家介紹JavaScript動(dòng)態(tài)添加事件之事件委托的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看下吧2016-07-07
javascript實(shí)現(xiàn)鼠標(biāo)拖動(dòng)改變層大小的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)鼠標(biāo)拖動(dòng)改變層大小的方法,涉及javascript操作鼠標(biāo)事件及樣式的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
javascript &&和||運(yùn)算法的另類使用技巧
一直以為 && 和 || 這兩個(gè)偉大的運(yùn)算法只能在判斷表達(dá)式使用,也就是常在if語(yǔ)句使用,原來(lái)錯(cuò)了,它還可以運(yùn)用在簡(jiǎn)化選擇性執(zhí)行語(yǔ)句的操作,有點(diǎn)拗口,簡(jiǎn)單點(diǎn)也就是:操作執(zhí)行某條語(yǔ)句,不執(zhí)行某條語(yǔ)句。2009-11-11
微信小程序上傳帖子的實(shí)例代碼(含有文字圖片的微信驗(yàn)證)
這篇文章主要介紹了小程序上傳帖子(含有文字圖片的微信驗(yàn)證)的實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
javascript parseInt() 函數(shù)的進(jìn)制轉(zhuǎn)換注意細(xì)節(jié)
parseInt(string, radix) 有2個(gè)參數(shù),第一個(gè)string 是傳入的數(shù)值,第二個(gè)radix是 傳入數(shù)值的進(jìn)制,參數(shù)radix 可以忽略,默認(rèn)為 10,各種進(jìn)制的數(shù)轉(zhuǎn)換為 十進(jìn)制整數(shù),接下來(lái)詳細(xì)介紹,感興趣的朋友可以了解下哦2013-01-01

