jQuery, поиск идентификатора элемента во время публикации формы - PullRequest
2 голосов
/ 01 июня 2011

Я пытаюсь найти идентификатор из div, чтобы определить правильный класс css для использования при вводе формы.

Пример HTML-кода, который будет генерировать:

<div id="output">ERROR</div>
<div id="msg">Password did not match.</div>

Теперь я получил это для работы с плагином, который я сделал, хотя разница в том, что он использовал iframe, что здесь не так, так что я знаю, что код нужно будет настроить.

$.post("login.php", $('#login').serialize(), function(html){
                //see what message to display.
                var results = $(html).contents().find("#output").text();
                if (results == "success") {
                    FormResults("Success", $(html).contents().find("#message").text());
                }else if(results == "warning") {
                    FormResults("Notice", $(html).contents().find("#message").text());
                } else {
                    FormResults("Error", $(html).contents().find("#message").text());
                }
            }); //END $.ajax(

Я надеюсь, что предоставил достаточно кода.Если нет, дайте мне знать.Также, если у вас есть лучший способ, меня интересует любая идея, которая у вас есть.

Суть в том, что php сгенерирует два div, один для типа сообщения, другой - фактическое сообщение.Первый div сообщит jquery, какой css назначить используемому плагину проверки, а также сообщение для отображения.

1 Ответ

1 голос
/ 01 июня 2011

Я не совсем понимаю логику кода, но я понимаю, чего вы хотите достичь.

По моему мнению, лучшим подходом было бы иметь обертку для всего сообщения (включая тип сообщения) и через специальный цвет имени набора классов или какое-либо правило CSS, которое вы хотите. Так же, как работает Plone сообщение о статусе ( см. Сообщение "Предупреждение" сверху )

Рабочий пример здесь:

http://jsfiddle.net/marcosfromero/8gbPg/

HTML:

<dl class="portalMessage error"><dt>Error</dt>
    <dd>This product has not had a release in over 1 year and may no longer be maintained. </dd>
</dl>

CSS:

Основной CSS следует применять к селекторам dl.portalMessage, .portalMessage .dt и .portalMessage .dd и конкретным цветам для error, success или к любому другому нужному коду.

dl.portalMessage {
    font-size: 12px;
    background-color: #FFFFE3;
    border: 1px solid #996;
    margin-bottom: 1em;
}

dl.portalMessage dt {
    background-color: #996;
    font-weight: bold;
    float: left;
    margin: 0 0.5em 0 0;
    padding: 0.5em 0.75em;
    color: white;
    line-height: 1.25em;
}

dl.portalMessage dd {
    padding: 0.5em 0.5em;
    margin: 0;
    line-height: 1.25em;
}

dl.error {
    border-color: red;   
}

dl.error dt {
    background: red;   
}

dl.error dd {
    background-color: #FD7;
}

dl.success{
    border-color: navy;   
}

dl.success dt {
 background: navy;   
}

dl.success dd {
    background-color: #eee;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...