0
使用ASP.Net,C#。檢查複選框狀態 - Javascript
這是一個javascript函數,用於確保在執行save操作之前,至少檢查一個網格中的複選框。默認情況下,在頁面加載時,將檢查所有框。
問題:當用戶點擊'保存'(並且沒有選中複選框)時,它會提示警報。單擊警報內的確定後,它會刷新頁面,從而清除網格內的文本框。再次檢查所有的複選框。
我想僅顯示警報而不刷新頁面,因爲這會導致服務器端代碼即使在複選框被選中時也會啓動。
JS:
<script type="text/javascript">
function CheckSelected()
{
var elements = document.getElementById('<%=gvLeaves.ClientID%>').
document.getElementById("INPUT");
var status=false;
var chk;
for(var i=0;i<elements.length;i++)
{
if(elements[i]!=null)
{
if(elements[i].id.indexof('chkLeaveType')>0)
{
chk=elements[i];
if(chk.checked)
{
status=true;
break;
}
}
}
}
if(status==true)
return true;
else
{
alert('None Selected');
return false;
}
}
</script>
ASPX
<asp:updatepanel runat="server" updatemode="conditional">
<triggers>
<asp:asyncpostback controldid="btnsave" eventname="click"/>
</triggers>
<contenttemplate>
<asp:gridview id="gvleaves" runat="server">
<columns>
<asp:templatefield>
<headertemplate>
<asp:checkbox id="chkheader" runat="server" checked="true"
onclick="SelectAll(this.id)"/>
Leave Type
</headertemplate>
<itemtemplate>
<asp:checkbox id="chkLeaveType" runat="server" checked="true"/>
<%#Eval("leavetype")%>
</itemtemplate>
</asp:templatefield>
<asp:templatefield>
<itemtemplate>
<asp:textbox id="txtdays" runat="server"/>
</itemtemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<asp:button id="btnSave" runat="server"
onclientclick="CheckSelected();" onclick="btnsave_click"/>
</contenttemplate>
</asp:updatepanel>
非常感謝... – Ruby