我试图从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,以及要显示的消息。
我不太理解代码的逻辑,但我确实理解您想要实现的目标。
在我看来,更好的方法是为整个消息(包括消息类型)提供一个包装器,并通过您想要的特殊类名集颜色或wathever 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;
}