У меня есть форма, содержащая контейнер табуляции ajaxtoolkit и внутри одной из вкладки контейнера табуляции у меня есть ретранслятор, который возвращает результат процесса поиска. После процесса поиска пользователи смогут обновлять некоторые данные, используя некоторые текстовые поля и dropdownlists. То, что я хочу сделать, это проверить эти текстовые поля и ddls с помощью jquery. Если все они пусты или не выбраны, я не хочу публиковать форму. Также я должен сказать, что у меня есть несколько почтовых процессов в этой форме. Каждый раз, когда я нажимаю любую кнопку внутри этой формы, функция jquery работает. Как я могу предотвратить это? Я пробовал эту реализацию с jquery bu, это не работает. Любая помощь будет назначена.ASP.NET Проверка элементов с помощью 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;
}
});
});
Вы пытались отладить скрипт? –
Нет никаких признаков моей функции jquery на консоли при попытке опубликовать форму, поэтому я не смог ее попробовать. – Tartar