как проверить содержимое переменной при отправке - PullRequest
0 голосов
/ 04 августа 2009

У меня есть форма, которая принимает некоторый почтовый индекс, я пытаюсь проверить данный почтовый индекс пользователем с помощью предварительно определенной переменной почтового индекса

 <form id="post_code">
        <input name="textfield" type="text" id="postcode" size="8" maxlength="8" />
        <input type="image" id="submit_postcode" src="images/B_go.png" alt="Submit Postcode" width="59" height="24" border="0" />
 </form>


var districtPostcodes = ['B1', 'B2', 'B3','B4'];
$("#submit_postcode").submit(function(){
    var userPostcode = $("#postcode").val().replace(/[^a-zA-Z0-9]/gi,'').toUpperCase();
    $.grep(districtPostcodes , function(val, i){
        if(userPostcode.indexOf(val) === 0){
            alert("Users postcode is part of district: "+val);
            return true;
        }else{
            return false;
    });
});

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 04 августа 2009

Хорошо, я вижу две проблемы с вашим кодом.

Во-первых, в блоке if/else отсутствует завершающий }. Это стало очевидным только после того, как я применил правильное отступление к вставленному вами коду.

Во-вторых, .indexOf не является кросс-браузерным. Вы должны использовать $.inArray.

Если вы пытаетесь проверить, существует ли значение userPostcode в массиве districtPostcodes, вы должны вызвать $.inArray(userPostcode, districtPostcodes) и сравнить результат с -1.

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