Невозможно замаскировать ввод

Это должно быть просто, но по какой-то причине я не понимаю это правильно. :/

Я использую плагин маскированного ввода jQuery, доступный здесь

Ниже приведен фрагмент моего кода:

jQuery:

<script>
$(document).ready(function(){
  $("#newStudentForm").validate();
});
jQuery(function($){
   $("#Sphone").mask("(999) 999-9999");
});
</script>

HTML:

<input type="text" maxlength="10" name="Sphone" id="Sphone"  size="28px"/>

На данный момент я не вижу никакой маски в текстовом поле. Как я могу это исправить?


person Rahul Desai    schedule 16.04.2012    source источник
comment
Какую версию jQuery вы используете? Не могли бы вы предоставить больше кода вашей страницы?   -  person magzalez    schedule 16.04.2012
comment
Это действительно похоже на копирование и вставку из двух разных источников. или почему еще вы смешиваете два способа регистрации события domready на одной странице?   -  person ThiefMaster    schedule 17.04.2012
comment
@ThiefMaster Ну да. Первая часть, вероятно, из jQuery Validate. Вторая часть из вышеупомянутого плагина маски ввода. Ответ ниже, вероятно, является исправлением, но я думаю, что нам нужно увидеть больше страницы, чтобы увидеть, что еще может пойти не так.   -  person magzalez    schedule 17.04.2012
comment
@rdesai Я думаю, вам придется предоставить немного больше кода, возможно, ссылку на страницу, чтобы мы могли помочь вам решить проблему.   -  person magzalez    schedule 17.04.2012
comment
@magzalez jQuery: ‹script src=Jquery/js/jquery.maskedinput-1.3.js type=text/javascript›‹/script› ‹script type=text/javascript src=jzaefferer.github.com/jquery-validation/› ‹script› $(document).ready(function (){ $(#newStudentForm).validate(); }); $(function() { $(#rad1).buttonset(); }); jQuery (функция ($) { $ (# Sphone). маска ((999) 999-9999); }); ‹/script› HTML: ‹td›Номер телефона студента: ‹/td› ‹td›‹input type=text maxlength=10 name=Sphone id=Sphone size=28 class=required/›‹/td›   -  person Rahul Desai    schedule 17.04.2012
comment
Был ли ответ полезен? Если это так, вы должны принять ответ. Если нет, вам следует снова отредактировать свой вопрос или комментарий.   -  person magzalez    schedule 18.04.2012


Ответы (2)


ПРОВЕРЬТЕ, что вы включаете файл плагина

<input type="text" maxlength="10" name="Sphone" id="Sphone"  size="28"/> // not `28px`


$(document).ready(function(){
  $("#newStudentForm").validate();
  $("#Sphone").mask("(999) 999-9999");
});
person thecodeparadox    schedule 16.04.2012
comment
Я пробовал это раньше, это не работает по какой-то причине. Извини. - person Rahul Desai; 16.04.2012
comment
Я так пробовал, все равно не работает. Извини. Я хотел бы знать, зачем заменять 28px на 28. - person Rahul Desai; 16.04.2012
comment
@rdesai По умолчанию используются пиксели. Лучше всего задавать стили и размеры полей и любых других элементов в CSS, а не в HTML. - person magzalez; 16.04.2012
comment
Спасибо за информацию. Я стилизую CSS, но боюсь, что маска все еще не работает. - person Rahul Desai; 16.04.2012

Основываясь на информации, которую вы мне дали, я заработал на http://jsfiddle.net/Sgu6e/.

Вот что я сделал:

Я удалил строку $("#rad1").buttonset();, так как она не относилась к коду, который вы мне дали, и нарушала остальную часть JS.

Затем я изменил остальную часть JS на следующее:

$(document).ready(function() {
    $("#newStudentForm").validate();
    $("#Sphone").mask("(999) 999-9999");
});

Опять же, вы можете увидеть, как это работает на http://jsfiddle.net/Sgu6e/.

person magzalez    schedule 17.04.2012
comment
Я рад, что это работает для вас. Я попробовал это в своем коде, но, к сожалению, по какой-то причине он не работает. - person Rahul Desai; 18.04.2012
comment
Вот мой обновленный код (похожий на ваш): ‹script src=Jquery/js/jquery.maskedinput-1.3.js type=text/javascript›‹/script› ‹script type=text/javascript src=jzaefferer.github.com/jquery-validation/› ‹script› $ (документ).ready(function(){ $(#newStudentForm).validate(); $(#Sphone).mask((999) 999-9999); }); //$(function() { //$( #rad2 ).buttonset(); //позже //$( #radio ).buttonset(); //позже //}); ‹/скрипт› - person Rahul Desai; 18.04.2012
comment
‹td›Номер телефона студента: ‹/td› ‹td›‹input type=text maxlength=10 name=Sphone id=Sphone size=28 class=required/›‹/td› Я включил файлы jQuery. Это не работает для меня, это сводит меня с ума! Извини. - person Rahul Desai; 18.04.2012
comment
Попробуйте сделать копию на jsfiddle.net. Это будет намного полезнее, чем копировать и вставлять код в комментарий. - person magzalez; 18.04.2012