我正在尝试从div中找到一个id来确定输入表单时要使用的正确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以及要显示的消息。
答案 0 :(得分:1)
我不太了解代码的逻辑,但我确实理解你想要实现的目标。
在我看来,更好的方法是为整个消息(包括消息的类型)和一个特殊的类名设置颜色或wathever CSS规则有一个包装器。就像Plone状态消息一样(see the "Warning" message on top)
http://jsfiddle.net/marcosfromero/8gbPg/
<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应适用于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;
}