Как: текстовое поле принимать только определенные слова - PullRequest
1 голос
/ 26 ноября 2011

Как настроить текстовое поле, которое принимает только определенные слова? У меня есть около 150 слов, которые разрешены. Слова являются символами тикера, такими как: ZLTU, ZTLAD, ZMASD ...

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Новые элементы формы HTML5 могут иметь дело с тем, что вам нужно, но все еще существует проблема обратной совместимости.

По сути, вы можете проверить значение поля ввода, прослушав событие onblur и исправив, удалив значение или предупредив пользователя, если значение не входит в набор. Кроме того, вы можете просто использовать элемент <select>, чтобы «заставить» пользователя выбирать фиксированный набор значений.

1 голос
/ 26 ноября 2011
// You could create an object and validate that 
// the input string is in the object:
var tik={
    A:"Agilent Technologies",
    AAPL:"Apple Inc.",
    BAC:"Bank of America",
    'BRK.A':"Berkshire Hathaway (class A shares)",
    C:"Citigroup Inc.",
    CPRT:"Copart",
    GOOG:"Google",
    HNZ:"H.J. Heinz Company",
    HOG:"Harley-Davidson Inc.",
    HPQ:"Hewlett-Packard",
    INTC:"Intel",
    KO:"Coca-Cola Company",
    MMM:"3M Company",
    MSFT:"Microsoft",
    TGT:"Target Corporation",
    TXN:"Texas Instruments",
    WMT:"Wal-Mart",
    WAG:"Walgreens"
}
function validTicket(inp){
    return inp.value in tik
    //returns true or false
}
function stockCo(inp){
    return tik[inp.value];
    //returns company name or undefined
}

//examples
var input={value:'HNZ'};

//alert(validTicket(input)+'\n'+stockCo(input))


// Or list them all in a delimited string and look for indexOf.
// Remember to enclose the first and last items with your delimeter.
function validTick(inp){
    var tik= '|A|AAPL|BAC|BRK.A|C|CPRT|GOOG|HNZ|HOG|HPQ|INTC|KO|MMM|MSFT|TGT|TXN|WMT|WAG|';
    return tik.indexOf('|'+inp.value+'|')!= -1;
}
// alert(validTick(input))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...