使用选择和文本输入进行JQuery验证

Dav*_*ton 0 javascript validation jquery

我有一点时间让这个验证工作.

我正在使用这里找到的JQuery Validation框架,我正在尝试验证一个既有select又有输入作为必填字段的表单.我已经设法将问题简化为一个相当简单的原型来演示问题:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ValidateTest._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server" action="javascript:alert('hi!');">
            <asp:ScriptManager ID="ScriptManager1" runat="server">
               <Services>
                   <asp:ServiceReference Path="~/Scripts/jquery-1.3.2.min.js" />
                   <asp:ServiceReference Path="~/Scripts/jquery.validate.min.js" />
               </Services>
            </asp:ScriptManager>  
            <div>
                <script type="text/javascript">
                    $(document).ready(function() { 
                        $("#form1").validate();
                    });
                </script>   
                <table>
                    <tr>
                        <td>
                            <select id="someselect" class="required">
                                <option></option>
                                <option value="value1">value1</option>
                                <option value="value2">value2</option>
                                <option value="value3">value3</option>
                            </select>         
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input id="someinput" type="text" class="required" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input id="somesubmit" type="submit" class="submit" value="Submit" />
                        </td>
                    </tr>
                </table>    
            </div>
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

提交时完全忽略文本框验证.看来,点击提交按钮只会验证选择.

话虽如此,将文本框留空将强制弹出"此字段是必填的"消息,但是当我点击提交时,表单仍然提交.

我希望看到的是显而易见的:在提交之前需要两个字段.而已.我的猜测是真的,非常简单,我只是在俯视.

bri*_*ris 5

您在name表单输入上缺少属性.Validation插件忽略了select没有name属性的输入(显然除了s),因为它们无论如何都没有被提交.

只需在输入中添加名称属性即可.

工作演示:

http://jsbin.com/idupe(可通过http://jsbin.com/idupe/edit#html编辑)