1

Я использую bootstrap и плагин Token Field для получения нескольких электронных писем. Я упомянул вот так.Bootstrap Token Field inputType email не работает

<input type="email" id="token-friend-email" class="friend-email form-control input-border input-style" value="" placeholder="" required>

и

$('#token-friend-email').tokenfield({ 
    inputType : 'email', 
    delimiter:';' 

}); 

Но лексема поле принимает все типы ввода. Я хочу, чтобы был принят только тип электронной почты. Помогите мне это исправить.

ответ

2

DEMO проверить это демо

Html часть

<input type="text" class="form-control" id="tokenfield" value="" /> 

Это JQuery часть ...

$('#tokenfield') 

    .on('tokenfield:createtoken', function (e) { 
    var data = e.attrs.value.split('|') 
    e.attrs.value = data[1] || data[0] 
    e.attrs.label = data[1] ? data[0] + ' (' + data[1] + ')' : data[0] 
    }) 

    .on('tokenfield:createdtoken', function (e) { 
    // Über-simplistic e-mail validation 
    var re = /\[email protected]\S+\.\S+/ 
    var valid = re.test(e.attrs.value) 
    if (!valid) { 
     $(e.relatedTarget).addClass('invalid') 
    } 
    }) 

    .on('tokenfield:edittoken', function (e) { 
    if (e.attrs.label !== e.attrs.value) { 
     var label = e.attrs.label.split(' (') 
     e.attrs.value = label[0] + '|' + e.attrs.value 
    } 
    }) 

    .on('tokenfield:removedtoken', function (e) { 
    alert('Token removed! Token value was: ' + e.attrs.value) 
    }) 

    .tokenfield() 
+0

ThankQ @shri ... Его работа прекрасна .. Но еще одна вещь, можно ли удалить ошибочно введенное значение автоматически, когда мы нажимаем кнопку ввода или, или вкладку? – Shanthi

+0

, если вы найдете это решение полезным, тогда повысьте ответ и отметьте его как выбрано. – sheshadri

+0

@Shanthi можно удалить недействительный адрес электронной почты, если действительный == false, а затем удалить адрес электронной почты .. – sheshadri

3

Я использовал тот же @shri, но я немного модифицирована.

Использование

$(e.relatedTarget).empty().hide().attr('data-value', ''); 

вместо этого

$(e.relatedTarget).addClass('invalid') 

DEMO проверки этого демо

Html часть

<input type="text" class="form-control" id="tokenfield" value="" /> 

Это JQuery часть ...

$('#tokenfield') 

    .on('tokenfield:createtoken', function (e) { 
    var data = e.attrs.value.split('|') 
    e.attrs.value = data[1] || data[0] 
    e.attrs.label = data[1] ? data[0] + ' (' + data[1] + ')' : data[0] 
    }) 

    .on('tokenfield:createdtoken', function (e) { 
    // Über-simplistic e-mail validation 
    var re = /\[email protected]\S+\.\S+/ 
    var valid = re.test(e.attrs.value) 
    if (!valid) { 
     $(e.relatedTarget).addClass('invalid') 
    } 
    }) 

    .on('tokenfield:edittoken', function (e) { 
    if (e.attrs.label !== e.attrs.value) { 
     var label = e.attrs.label.split(' (') 
     e.attrs.value = label[0] + '|' + e.attrs.value 
    } 
    }) 

    .on('tokenfield:removedtoken', function (e) { 
    alert('Token removed! Token value was: ' + e.attrs.value) 
    }) 

    .tokenfield() 
2

Привет @shri я попытался с помощью этого мы также можем использовать эту

$ (e.relatedTarget) .empty(). Скрыть()

вместо

$ (e.relatedTarget) .empty(). Hide(). Attr ('data-value', '');

Смежные вопросы