[英]Show alert() if no checkbox is selected
單擊按鈕“刪除”后,如果未選中任何復選框,則如何顯示警報。 我的HTML表單
<form name="Delete" method="post" action="DeleteAdministrator">
<table width="800px" cellpadding="5" style="color:black; border-top:1px solid #ccc;" border="0">
</table>
<div id="container">
<div id="demo_jui">
<table id="adminList" class="display" cellpadding="0" cellspacing="0" border="0" style="font-size:12px;" >
<thead id="headed">
<tr>
<th align="center" title="Select">Select</th>
<th align="center" title="Email Address">Email Address</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<table id="footed">
<tr>
<td colspan="2">
<a href="#"><img src="images/Delete.png" style="border:none;" onClick="javascript:Go()"
onmouseover="this.src='images/Delete_Hover.png'" onmouseout="this.src='images/Delete.png'"/></a>
<a href="#"><img src="images/Reset.png" style="border:none;" onClick="javascript:clearForm()"
onmouseover="this.src='images/Reset_Hover.png'" onmouseout="this.src='images/Reset.png'"/></a>
</td>
</tr>
</table>
</form>
</body>
</html>
復選框值將在表中檢索。 當我對其進行測試時,如果選中或未選中復選框,它仍然會提示“請選擇刪除管理員”
在函數Go()
,驗證document.Delete.delAdlist[i].checked
是否正確? 謝謝
<script language="JavaScript">
var running = 0;
function Go() {
var f = document.forms[0];
for (i = 0; i < document.Delete.delAdlist.length) {
if (!document.Delete.delAdlist[i].checked) {
alert("Please select to delete admin.");
return false;
}
else {
f.submit();
return true;
}
}
f.submit();
running++;
}
</script>
查找已檢查的項目以及找到第一個項目將更合乎邏輯:提交表單並退出。 如果未選中任何一項,則顯示警報。 您尚未顯示復選框HTML,所以我假設您有一個名為delAdlist[]
的復選框數組。
純Javascript解決方案
function Go() {
var f = document.forms["Delete"];
for (i = 0; i < f.elements["delAdlist[]"].length; i++) {
if (f.elements["delAdlist[]"][i].checked) {
f.submit();
return true;
}
}
alert("Please select at least one to delete");
}
jQuery解決方案
function Go() {
if($('form[name=Delete] input[name=delAdlist\\[\\]]:checked').length > 0)
{
$('form[name=Delete]').submit();
}
else
{
alert("Please select at least one to delete");
}
}
注意:如果您的復選框是數組,則上面的代碼將起作用。 如果您的復選框不是數組,並且都命名為delAdlist
(不帶方括號),則從第一個解決方案中刪除[]
,然后在第二個解決方案中將選擇器更改為form[name=Delete] input[name=delAdlist]:checked
您應該以這種格式檢查
var notChecked=0;
for (i = 0; i < document.Delete.delAdlist.length)
{
if(!document.Delete.delAdlist[i].checked)
notChecked=1;
}
if(notChecked==1) {
alert("Please select to delete admin.");
return false;
}
else {
f.submit();
}
<script language="JavaScript">
var running = 0;
function Go() {
var f = document.forms[0];
if( $("input[type='checkbox']:checked").length < 1)
alert("Please select to delete admin.");
else
f.submit();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.