【发布时间】:2011-08-23 02:27:00
【问题描述】:
我遇到了 jquery 验证问题。我在整个网站的许多不同形式上使用它。对于所有表格 - 行为如广告所宣传的那样工作,但是,在其中一个上,当我单击提交时 - 只有第一个字段显示消息“此字段是必需的”,而不是所有表格都显示它。只有在单击提交并看到第一条验证消息之后,然后随机单击其他一些字段,我才能显示剩余的验证消息。据我了解,这不是默认行为。如果需要 3 个字段但没有填写 - 提交操作应该突出显示所有 3 个字段并显示相同的消息,对吗?
这里是js:
$(document).ready(function() {
$("#form").validate({ errorElement: "div" });
});
function sendComments() {
if ($("#form").valid()) {
// something
}
}
这里是标记:
<form id="form" runat="server">
<div id="divContact">
<table cellpadding="5" cellspacing="5">
<tr>
<td>
<a class="title">Name:</a>
<input type="text" id="txtName" class="required" runat="server" />
</td>
</tr>
<tr>
<td>
<a class="title">Email:</a>
<input type="text" id="txtEmail" class="required email" runat="server" />
</td>
</tr>
<tr>
<td>
<a class="title">Comments:</a>
<textarea id="txtComments" cols="40" rows="6" class="required"></textarea>
</td>
</tr>
<tr>
<td>
<br />
<a id="btnSend" class="roundButton" onclick="return sendComments()">Send</a>
</td>
</tr>
</table>
</div>
</form>
这是样式表:
#divContact
{
margin-top: 50px;
text-align:center;
}
#divContact a.title
{
display:block;
color:White;
font-family:Verdana;
font-size:0.8em;
}
#txtComments, #txtEmail
{
width:100%;
}
#divContact table
{
text-align:left;
padding: 20px;
background-color:#3F0F54;
width:350px;
margin: 10px auto 0 auto;
border: 3px double grey;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
div.error
{
display:block;
color:Red;
font-size: 0.7em;
font-family: Verdana, Tahoma, Arial, "Helvetica Neue", Helvetica, Sans-Serif;
}
【问题讨论】:
标签: jquery asp.net validation