我在这里发布了一个关于如何处理2个错误的问题:Multipile forms with input and submit button with the same action with Javascript
我需要2个错误,如果输入小于15位,则输出1个错误,第二个错误是输入以9900开头(如果输入,则存在错误,然后重定向到其他页面)。 它工作了一段时间,虽然它突然停止发出第二个错误(如果输入以9900开头),页面为:http://www.unlocker.co.il/shop/sim-unlock-htc-mobile-device/
每个表单都有自己的ID:unlock1,unlock2,unlock3等。 JS文件包括:
jQuery(function($){
$('form#unlock1').on('submit', function (e){
if($('form#unlock1 > input.the_imei').val().length == 15){
if($(this).val().indexOf('9900') === 0){
alert('לפי המספר IMEI, ברשותכם מכשיר CDMA, אנא ראו מידע נוסף בעמוד פתיחת מכשירי CDMA');
window.location = 'http://www.unlocker.co.il/sim-unlock-cdma-mobile-device';
e.preventDefault();
}
return;
}
alert('אנא מלאו מספר IMEI בעל 15 ספרות');
e.preventDefault();
});
})
和表格是:
<form id="unlock1" class="cart" enctype="multipart/form-data" method="post" name="unlock"> <input class="the_imei" style="width: 80%; border-radius: 15px;" name="the_imei" type="text" value="" placeholder="מספר סידורי IMEI של המכשיר (חייג #06#*)" /> <input class="add-to-cart" name="add-to-cart" type="hidden" value="39" /> <button class="unlockButton" type="submit" value="submit">פתח לכל הרשתות בישראל </button> </form>
每个表单都有一个不同的id(例如Unlock1),并且在它自己的JS文件中,id就像在2个地方列出的那样。
我无法弄清楚为什么&#34;最少15位&#34;错误有效,但是&#34;如果输入以9900&#34;错误不再起作用。
谢谢!
答案 0 :(得分:0)
我就是这样做的。尽量避免使用过多的嵌套if语句。而是在用户首先输入错误值时使用return语句创建escape子句。
$('form#unlock1').on('submit', function(){
var $el = $('form#unlock1 > input.the_imei');
if($el.val().length<15){
//Not enough characters
return false;
}
if($el.val().substring(0,4)=='9900') {
//Value begins with 9900
return false;
}
//User has entered a correct imei
});