解決JS表單驗證只有第一個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;
}
你寫的是不是上面這種情況?其實會出現(xiàn)只執(zhí)行了第一個這種情況,主要是你在if else語句中都加入了,return 用來返回結果,這種方式其實是沒有錯的,邏輯也很通順,不過你仔細想一想,你提交的時候如果返回的是true的話,那么你的form表單就相當于收到了一個可以提交的命令,那么他就會進行表單提交,后面的if else語句就不會執(zhí)行了。
解決的方法:我用的是一種標記,先全部給他們true,如果后面的if語句條件判斷為false,就彈出一個彈框進行提示,直到全部都符合條件了,才會給form表單返回一個true.進行表單提交。
有好的方法歡迎評論呦~~~~~~~~~
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}$/; //驗證手機號正則表達式
if ($("#userName") == "") {
alert("請輸入產(chǎn)品名稱!");
/* alert($("#gsp_add_img_23").val()); */
productName = false;
} else if ($("#candi").val() == "") {
alert("請輸入產(chǎn)地!");
chanDi = false;
} else if ($("#muchan").val() == "") {
alert("請輸入畝產(chǎn)量!");
muChanLiang = false;
}else if ($("#zongChan").val() == "") {
alert("請輸入總產(chǎn)量!");
zongChanLiang = false;
} else if ($("#xiangqing").val() == "") {
alert("請輸入產(chǎn)品詳情!");
xiangQiang = false;
} else if ($("#yushoujia").val() == "") {
alert("請輸入預售價!");
yuShouJia = false;
} else if (!pattern.test($("#userPhone").val())) {
alert("手機號格式錯誤");
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"
<!-- 給后臺傳一個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蘋果(*必填項 *)" />
</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="例:靈寶寺河山(*必填項 *)" />
</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)量(*必填項 *)" />
</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)量(*必填項 *)" 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)品種植標準、產(chǎn)品優(yōu)點、產(chǎn)品性能、儲存注意事項等(*必填項 *)"></textarea>
</div>
<div class="liebiao">
<span class="liebiao_left">產(chǎn)品預售參考價:</span> <input type="text"
value="" id="yushoujia" name="advance_price" class="shuruk"
placeholder="例:以每500g為單位(*必填項 *)" />
</div>
<div class="liebiao">
<span class="liebiao_left">站主聯(lián)系方式:</span> <input id="userPhone"
value="" name="phone" class="shuruk"
placeholder="(*必填項 *)" />
</div>
<div class="liebiao" style="margin-top: 30px;">
<input type="button" value="立即申請" class="tijiao" onclick="checkForm()">
</div>
</div>
</div>
</form>
總結
以上所述是小編給大家介紹的解決JS表單驗證只有第一個IF起作用的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
JavaScript 產(chǎn)生不重復的隨機數(shù)三種實現(xiàn)思路
在 JavaScript 中,一般產(chǎn)生的隨機數(shù)會重復,但是有時我們需要不重復的隨機數(shù),如何實現(xiàn)?本文給于解決方法,需要的朋友可以參考下2012-12-12
javascript實現(xiàn)鼠標拖動改變層大小的方法
這篇文章主要介紹了javascript實現(xiàn)鼠標拖動改變層大小的方法,涉及javascript操作鼠標事件及樣式的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
javascript parseInt() 函數(shù)的進制轉換注意細節(jié)
parseInt(string, radix) 有2個參數(shù),第一個string 是傳入的數(shù)值,第二個radix是 傳入數(shù)值的進制,參數(shù)radix 可以忽略,默認為 10,各種進制的數(shù)轉換為 十進制整數(shù),接下來詳細介紹,感興趣的朋友可以了解下哦2013-01-01

