【问题标题】:jQuery Validation not highlighting all fieldsjQuery Validation 不突出显示所有字段
【发布时间】: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


    【解决方案1】:

    我已经弄明白了——在标记中我忘了给每个输入字段一个名称属性。将此添加到每个元素中,验证工作正常!

    【讨论】:

      猜你喜欢
      • 2010-12-25
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多