JQuery проверить текстовое поле: заполнено - PullRequest
1 голос
/ 29 сентября 2011

у меня есть следующие поля формы ...

<textarea name="anchors[]" id="anchors1" cols="45" rows="5" class="linkbox"></textarea>
<textarea name="anchors[]" id="anchors2" cols="45" rows="5" class="linkbox"></textarea>
<textarea name="urls[]" id="urls1" cols="45" rows="5" class="linkbox"></textarea>
<textarea name="urls[]" id="urls2" cols="45" rows="5" class="linkbox"></textarea>

, который я пытаюсь проверить, чтобы, если, скажем, якоря2 были заполнены, тогда также должен быть заполнен urls2, однако я не могу на всю жизнь заставить работать следующее! ...

var validator = $("#projectform").validate({
    rules: {
        project_label: "required",
        keywords: "required",
        urls2: { required: "#anchors2:filled" }
    },
    messages: {
        project_label: "Enter a project label",
    }
    ,errorElement: "div" 
    ,submitHandler: function(form) { 
        $('input[type=submit]').attr('value', 'Please wait');
        $('input[type=submit]').attr('disabled', 'disabled');
        this.form.onsubmit(); return false; 
    }   

});

Когда я нажимаю "Отправить", поля Project_label и ключевых слов проверяются (или нет), как и следовало ожидать, однако я ничего не вижу в отношении полей anchors [] и urls []. Я установил css на textarea.error, чтобы дать визуальную индикацию, но я также не вижу этого при попытке проверить.

Следует отметить, что следующее тоже не работает, что может пролить некоторый свет?

urls1: "required",

1 Ответ

2 голосов
/ 29 сентября 2011

Плагин проверки требует, чтобы вы использовали элемент name , а не id .Для этого мне пришлось изменить имя, чтобы удалить [].Поэтому переименуйте текстовую область и повторите попытку - например, так:

HTML:

<textarea name="url2newname" id="urls2" cols="45" rows="5" class="linkbox"></textarea>

Фрагмент Javascript:

rules: {
        project_label: "required",
        keywords: "required",
        urls2newname: { required: "#anchors2:filled" }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...