我有一个包含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;
}
});
});
答案 0 :(得分:0)
values.every(function(entry) {
if(entry !== ""){
check = 1;
return;
}
});