Как отображать уникальные сообщения об успехе при проверке формы jquery - PullRequest
2 голосов
/ 14 мая 2010

надеюсь, вы можете помочь мне в этом, я сейчас использую это:

Плагин jQuery: проверка (домашняя страница)

Я читал похожие вопросы здесь, но этот - самый близкий. httx: //stackoverflow.com/questions/1863448/jquery-validation-on-success

из документации плагина httx: //docs.jquery.com/Plugins/Validation/validate#toption

успех Строка, обратный вызов
Если указано, метка ошибки отображается для отображения действительного элемента. Если дана строка, она добавляется как класс к метке. Если дана функция, она вызывается с меткой (как объект jQuery) в качестве единственного аргумента. Это может быть использовано для добавления текста вроде "ОК!".

В настоящее время у меня только один объект, данный мне ярлык, и я могу только добавить к нему текст. Теперь я хочу иметь уникальное сообщение об успехе.

Например: В поле username будет сообщение об успешном завершении: 'username okay!'
электронная почта = "электронная почта кажется правильной"

что-то в том же духе, вместо отображения только одного общего сообщения об успехе во всех полях.

Edit:

Я только попробовал это до сих пор:

success: function(label) {
    label.text("Ok!").removeClass("error").addClass("success");
    },

EDIT Я просто хочу отредактировать, что я хотел, чтобы получить доступ к элементу ввода и, возможно, получить доступ к его атрибуту, чтобы использовать его для отображения в label.text. Что-то вроде label.text (element.attr ("title"); например.

Ответы [ 2 ]

3 голосов
/ 14 мая 2010

Самое простое, о чем я могу думать, это:

jQuery(function($) {
    $('form').validate({
        success: function(label) {
            var name = label.attr('for');
            label.text(name+ ' is ok!');
        }
    });
});

<form action="" method="post">
    <input name="username" class="required" type="text" />
    <input type="submit" />
</form>

Если вы хотите больше уникальных сообщений, возможно, вы можете хранить свое сообщение где-нибудь (дополнительное скрытое поле, или дополнительный DOM, или использовать метаданные). Убедитесь, что он находится в согласованной позиции (чтобы вы могли обойти его одинаково для всех полей) и соответственно обновите сообщение метки?

0 голосов
/ 18 ноября 2010

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

success: function(label) {
        var messages = new Array(
            "Looks good!",
            "You got it!",
            "Ok!"
        );

        var num = Math.floor(Math.random()*3); 

        label.text(messages[num]).addClass("success");
    }
...