jQuery Добавить http: // в качестве префикса для ввода текста, если его нет - PullRequest
1 голос
/ 19 октября 2011

У меня есть текстовый ввод, для которого нужен URL-адрес в качестве значения (полное http://), и я хочу, чтобы, если пользователь сам не пишет его, если его добавили автоматически. Мой код следующий,

JQuery

$('.txtUrl').keypress(function(e) {
    if(e.keyCode == 13) {
        var ini = $(this).val().substring(0,3);
        if (ini === 'http'){
            $.noop()
        }
        else {
            // get value from field
            var cur_val = $(this).val(); 
            // do with cur_val
            $(this).val('http://' + cur_val);
        }        
    }
});

HTML

<input type="text" class="txtUrl" />

Проблема в скрипке

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

Вы сравниваете http с тремя первыми символами (substring(0,3)) текста, что, конечно, никогда не будет правдой. Измените его на:

var ini = $(this).val().substring(0, 4);
2 голосов
/ 19 октября 2011

http://jsfiddle.net/bitsmix/jMH9b/

if ($(this).val().match(/^http/))

регулярное выражение всегда лучше:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...