Jquery不返回false并继续执行其余代码
net应用程序和jquery。我有一个按钮和带有复选框的gridview。如果没有选中任何复选框,我不想启动按钮并转到服务器端。我试着如下 这是我的钮扣Jquery不返回false并继续执行其余代码,jquery,asp.net,Jquery,Asp.net,net应用程序和jquery。我有一个按钮和带有复选框的gridview。如果没有选中任何复选框,我不想启动按钮并转到服务器端。我试着如下 这是我的钮扣 <asp:Button ID="btnRegretletter" runat="server" Text="Send Regret Letter" class="submitLink blueButton" OnClientClick="javascript:check()" OnClick="btnRegretletter_Cli
<asp:Button ID="btnRegretletter" runat="server" Text="Send Regret Letter" class="submitLink blueButton" OnClientClick="javascript:check()" OnClick="btnRegretletter_Click" ValidationGroup="VGsubmit" />
这是我的jquery代码
function check() {
alert("I have been called");
var valid = false;
var ResultArrayFirst = [];
$('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function () {
if ($(this).closest('tr').find('input[type="checkbox"]').is(':checked'))
{
ResultArrayFirst.push($(this).val());
}
});
alert(ResultArrayFirst);
if (ResultArrayFirst.length > 0) {
valid = true;
}
else
{
alert("Please select at least one vendor to send Regret Letter.");
valid = false;
return valid;
}
$("#<%=gdvRegretletter.ClientID %> tr").each(function () {
//Skip first(header) row
if (!this.rowIndex) return;
var status = $(this).find("td:last").text().trim();
if (status == "Awarded" || status == "Rejected") {
$(this).closest('tr').find('input[type="checkbox"]').prop('checked', false);
}
});
}
在上面的代码中,每当我没有从gridview中选择任何复选框时,我的变量将为null,我的else部分将执行。我可以发出警报,但一旦我的警报发出并单击ok,我的页面就会刷新,它将到达服务器端。我可以知道如何预防吗?任何帮助都将不胜感激。谢谢。您没有使用check方法的返回值
您没有使用check方法的返回值
返回有效;应该在下面代码段的else部分之外,因为在您的情况下,若长度大于0,函数将不会返回
if (ResultArrayFirst.length > 0) {
valid = true;
}
else
{
alert("Please select at least one vendor to send Regret Letter.");
valid = false;
}
return valid;
另外,您需要这样检查:
OnClientClick="return check()"
您也可以像下面的代码片段一样检查它:
OnClientClick="if (!check()) { return false;};"
返回有效;应该在下面代码段的else部分之外,因为在您的情况下,若长度大于0,函数将不会返回
if (ResultArrayFirst.length > 0) {
valid = true;
}
else
{
alert("Please select at least one vendor to send Regret Letter.");
valid = false;
}
return valid;
另外,您需要这样检查:
OnClientClick="return check()"
您也可以像下面的代码片段一样检查它:
OnClientClick="if (!check()) { return false;};"
但我正在做一些其他的计算,也在检查函数中。我将发布上面的代码,而这段代码现在不起作用。请告诉我原因好吗?您是否将此OnClientClick=javascript:check更改为OnClientClick=return check@NiranjanGodbolePlus您是否收到此警报请至少选择一个供应商发送遗憾信@NiranjanGodbole@NiranjanGodbole您不需要指定valid=false;这已经是假的了。改变你的onclientclickb,但我正在做一些其他的计算,也在check函数中。我将发布上面的代码,而这段代码现在不起作用。请告诉我原因好吗?您是否将此OnClientClick=javascript:check更改为OnClientClick=return check@NiranjanGodbolePlus您是否收到此警报请至少选择一个供应商发送遗憾信@NiranjanGodbole@NiranjanGodbole您不需要指定valid=false;这已经是假的了。更改OnClientClick