|
|
|
| Видел на одном сайте такую фишку .
когда вводится в поле телефонный номер то скрипт добавляет дефисы между группами цифр .
вводят подряд 1234567
скрипт разбивает 12-34-567
как такое реализовать | |
|
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 13:32)
| | почему jquery? | |
|
|
|
|
|
|
|
для: Trianon
(19.01.2011 в 13:41)
| | потому что на нем много готовых подобных решений (хотя сам не пользуюсь jquery)
на чистом js нормальный mask написать довольно сложно | |
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 14:16)
| | Что сложного то? | |
|
|
|
|
|
|
|
для: sim5
(19.01.2011 в 15:00)
| | http://digitalbush.com/projects/masked-input-plugin/
сколько времени уйдет чтобы сделать на чистом js аналог как во вкладке demo например phone? | |
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 15:32)
| | Сколько? Ну елки палки, не так и сложно написать рег. выражение для того чтобы разбить номер телефона на группы. Тут больше врмени потребуется чтобы составить условия, когда "бить", когда "не бить". jQuery это JS, и сверхестественного в нем ничего нет. | |
|
|
|
|
|
|
|
для: sim5
(19.01.2011 в 15:48)
| | никто это и не отрицает. просто иногда проще взять готовое решение | |
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 16:05)
| | Вот тут я не согласен, эта простота не оправдывает ее размера. | |
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 16:05)
| | взяв готовое решение из jquery, автор врядли сможет легко узнать ответ на свой вопрос. А именно - как реализовать? Не где найти, а как реализовать. | |
|
|
|
|
|
|
|
для: psychomc
(19.01.2011 в 13:32)
| | Зачем сразу монстра : )
Может есть проще алгоритм | |
|
|
|
|
|
|
|
для: Косорылый
(19.01.2011 в 13:50)
| | рассчитывал что вам нужно что-то большее чем написали вы.если нужно просто вставить дефисы после нужного числа по счету - никаких проблем. берите значение поля, делайте замену где надо и вставляйте обратно в поле. | |
|
|
|
|
|
|
|
для: Косорылый
(19.01.2011 в 13:50)
| | самый элементарный пример
<html>
<script>
function mask(input) {
var value = input.value;
if (value.length == 2 || value.length == 5) {
input.value += '-';
}
}
</script>
<body>
<input type="text" onkeyup="mask(this)"/>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Косорылый
(19.01.2011 в 13:15)
| | Простейший, но очень сырой вариант:
<html>
<head>
<script>
function digitize(x){
var c = x.value;
var l = c.length;
if (l > 9) {c = c.slice(0, 9);}
if (l == 3 || l == 6) c += "-";
x.value = c;
}
</script>
</head>
<body>
<input type="text" onchange='digitize(this);' onkeyup='digitize(this);'>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: DJ Paltus
(19.01.2011 в 14:40)
| | onkeyup здесь не катит. Нажмите любую цифру и не отпускайте несколько секунд - сами увидите проблему. | |
|
|
|