ASP.NET使用Jquery检查元素

时间:2014-05-26 11:44:39

标签: javascript jquery asp.net validation

我有一个包含ajaxtoolkit的选项卡容器的表单,并且在一个选项卡容器的选项卡内部我有一个转发器,它返回一个seach进程的结果。在搜索过程之后,用户将能够使用一些文本框和下拉列表来更新某些数据。我想要做的是使用jquery验证这些文本框和ddls。如果所有这些都是空的或未选中,那么我不想发布表格。另外我应该说我有这种形式的多个帖子过程。每当我按下此表单内的任何按钮时,jquery函数都可以正常工作。我该如何防止这种情况?我尝试使用jquery这个实现它不起作用。任何帮助都会得到满足。

HTML:

                        <asp:Repeater ID="searchResultRepeater" runat="server">
                            <ItemTemplate>
                                <form id="searchResultForm"></form>
                                <table border="1" align="center" style="border-color:#ff9900; width:400px; font-weight:bold; font-family:'Oswald', Arial, sans-serif;">
                                    <tr align="center">
                                        <td colspan="3">
                                            Search Results
                                        </td>
                                    </tr>
                                    <tr align="center">
                                        <td>Category:</td>
                                        <td colspan="2"><%#DataBinder.Eval(Container.DataItem,"CategoryName") %></td>
                                    </tr>
                                    <tr align="center">
                                        <td>Brand:</td>
                                        <td colspan="2"><%#DataBinder.Eval(Container.DataItem,"BrandName") %></td>
                                    </tr>
                                    <tr align="center">
                                        <td>Model:</td>
                                        <td colspan="2"><%#DataBinder.Eval(Container.DataItem,"ModelName") %></td>
                                    </tr align="center">
                                    <tr align="center">
                                        <td>Primary Color:</td>
                                        <td colspan="2"><%#DataBinder.Eval(Container.DataItem,"PrimaryColor") %></td>
                                    </tr>
                                    <tr align="center">
                                        <td>Secondary Color:</td>
                                        <td colspan="2"><%#DataBinder.Eval(Container.DataItem,"SecondaryColor") %></td>
                                    </tr>
                                    <tr align="center">
                                        <td>Size:</td>
                                        <td><%#DataBinder.Eval(Container.DataItem,"Size") %></td>
                                        <td>
                                            <asp:DropDownList ID="sizeUpdateDdl" runat="server">
                                                <asp:ListItem Value="">--Select--</asp:ListItem>
                                                <asp:ListItem Value="8.5">8.5</asp:ListItem>
                                                <asp:ListItem Value="9">9</asp:ListItem>
                                                <asp:ListItem Value="9.5">9.5</asp:ListItem>
                                                <asp:ListItem Value="10">10</asp:ListItem>
                                                <asp:ListItem Value="10.5">10.5</asp:ListItem>
                                                <asp:ListItem Value="11">11</asp:ListItem>
                                                <asp:ListItem Value="11.5">11.5</asp:ListItem>
                                                <asp:ListItem Value="12">12</asp:ListItem>
                                                <asp:ListItem Value="12.5">12.5</asp:ListItem>
                                                <asp:ListItem Value="13">13</asp:ListItem>
                                                <asp:ListItem Value="13.5">13.5</asp:ListItem>
                                                <asp:ListItem Value="14">14</asp:ListItem>
                                                <asp:ListItem Value="15">15</asp:ListItem>
                                            </asp:DropDownList>
                                        </td>
                                    </tr>
                                    <tr align="center">
                                        <td>Price:</td>
                                        <td>$<%#DataBinder.Eval(Container.DataItem,"Price") %></td>
                                        <td><asp:TextBox ID="priceUpdateText" runat="server"></asp:TextBox></td>
                                    </tr>
                                    <tr align="center">
                                        <td>Quantity:</td>
                                        <td><%#DataBinder.Eval(Container.DataItem,"Quantity") %></td>
                                        <td><asp:TextBox ID="quantityUpdateText" runat="server"></asp:TextBox></td>
                                    </tr>
                                    <tr align="center">
                                        <td colspan="2">
                                            <asp:LinkButton ID="deleteLink" PostBackUrl='<%# string.Format("~/AdminPanel.aspx?sid={0}", Eval("ShoeID")) %>' OnClick="delete_Click" runat="server">DELETE</asp:LinkButton>
                                        </td>
                                        <td>
                                            <asp:LinkButton ID="updateLink" PostBackUrl='<%# string.Format("~/AdminPanel.aspx?sid={0}", Eval("ShoeID")) %>' OnClick="update_Click" runat="server">UPDATE</asp:LinkButton>
                                        </td>
                                    </tr>
                                </table>
                            </ItemTemplate>
                        </asp:Repeater>

Jquery脚本:

$(document).ready(function () {
    $('#form1').submit(function () {
        var size = $('#sizeUpdateDdl').val();
        var color1 = $('#pColorUpdateDdl').val();
        var color2 = $('#sColorUpdateDdl').val();
        var price = $('#priceUpdateText').val();
        var quantity = $('#quantityUpdateText').val();

        var values = [];

        values.push(size);
        values.push(color1);
        values.push(color2);
        values.push(price);
        values.push(quantity);

        var check = 0;

        values.forEach(function(entry) {
            if(entry === ""){
                check = 0;
            }else{
                check = 1;
            }
        });

        if(check === 0){
            alert("Please fill at least one field to update this product !");
            return false;
        }
    });
});

1 个答案:

答案 0 :(得分:0)

values.every(function(entry) {
        if(entry !== ""){
            check = 1;
            return;
        }
  });