Подскажите где может быть ошибка в коде ? При проверке на количество символов и соотвецтвие мобильным операторам , кнопка сабминт должна быть блокирована , но этого не происходит . Подскажыте может чего незаметил?
вот код :
<form action="" autocomplete="off">
<input id="phone" type="text" autocomplete="off" class="telephone" value="Введите Ваш номер" name="input" >
<div class="nambers">
<button id="0" class="0 btn">0</button>
<button id="1" class="1 btn">1</button>
<button id="2" class="2 btn">2</button>
<button id="3" class="3 btn">3</button>
<button id="4" class="4 btn">4</button>
<button id="5" class="5 btn">5</button>
<button id="6" class="6 btn">6</button>
<button id="7" class="7 btn">7</button>
<button id="8" class="8 btn">8</button>
<button id="9" class="9 btn">9</button>
<button id="10"class="l0 btn">10</button>
<button id="enter" class="entr btn" type="submit">Enter</button>
<button id="backspace" class="backspace btn">backspace</button>
</form>
(function($){
var checkMobileOperator = function(){
//var operators = window.operators;
var operators = [{code:'909', 'name':'Beeline'}, {code: '921', name: 'MTS'}];
console.log(operators[0])
this.check = function(value){
value = value.replace(/(?:^(7|\+7|8))*(?:\(|\))/g,'');
if (value.length == 9) {
var code = value.substr(0,3);
for (var i = 0, len = operators.length; i < len; i++) {
if ( operators[i].code === code)
return operators[i].name;
}
return null;
}
}
}
var CheckMobileOperator = new checkMobileOperator();
var form = $('form'),
input = $('#phone', form),
submit = form.find('#enter');
submit.prop('disabled','disabled');
console.log(input)
input.on('keydown', function(e){
if (!((which >= 48 && which <= 57) || which == 13)){
e.preventDefault();
return false;
}
!!checkMobileOperator.check(input.val()) && submit.removeprop('disabled');
});
})(jQuery)