2016-04-21 76 views
0

我想參加學生考勤。在獲得出席頁面,我得到了每個學生都有3個單選按鈕的學生名單。我想檢查是否所有學生的出席標記和提交(無論現在,缺席或離開)找不到請幫助。功能我使用的作品只有當且僅當當前被選中。(抱歉,但我只需要純JavaScript代碼)通過單選按鈕循環(每組20個)並檢查每個組是否被檢查

<html> 
<head> 
<title>KUSC | Attendance Management System</title> 
<script type="text/javascript" language="javascript"> 
function check() 
{ 
var rc = document.getElementById("rc").value; 
for(var i=1;i<=rc;i++) 
{ 
var x="att"+i; 
var y="rid"+i; 
if(document.getElementById(""+x).checked==false) 
{ 
document.getElementById(""+y).bgColor="Red"; 
document.getElementById(""+y).focus(); 
return false; 
} 

} 
return true; 
} 
</script> 

</head> 
<body> 
<form name="attspl" method="post" onSubmit="return check();"> 
<center> 
<table width="600" border="1" id="table"> 
<tr><td colspan = "4" align = "center"> 
<b><font color = 'red'> Taking Attendance of MCA&nbsp1 for &nbsp C</font></b></td> 
</tr><tr> 
<td><b>S No.</b></td> 
<td><b>Roll No</b></td> 
<td><b>Student Name</b></td> 
<td><b>Present Status</b></td></tr> 
<tr><td>1</td><td>14045113001</td><td>Nayeem Ahmad Bhat</td><td id=rid1> 
<input type="hidden" name="rno1" value="14045113001"/> 
<input type="hidden" name="stdname1" value="Nayeem Ahmad Bhat"/> 
<input type="radio" id="att1" name="att1" value="P" />Present 
<input type="radio" id="att1" name="att1" value="A" />Absent 
<input type="radio" id="att1" name="att1" value="L" />Leave 
</td></tr><tr><td>2</td><td>14045113002</td><td>Farooq Ahmad Sheikh</td><td id=rid2> 
<input type="hidden" name="rno2" value="14045113002"/> 
<input type="hidden" name="stdname2" value="Farooq Ahmad Sheikh"/> 
<input type="radio" id="att2" name="att2" value="P" />Present 
<input type="radio" id="att2" name="att2" value="A" />Absent 
<input type="radio" id="att2" name="att2" value="L" />Leave 
</td></tr><tr><td>3</td><td>14045113003</td><td>Zubair Ahmad Khan</td><td id=rid3> 
<input type="hidden" name="rno3" value="14045113003"/> 
<input type="hidden" name="stdname3" value="Zubair Ahmad Khan"/> 
<input type="radio" id="att3" name="att3" value="P" />Present 
<input type="radio" id="att3" name="att3" value="A" />Absent 
<input type="radio" id="att3" name="att3" value="L" />Leave 
</td></tr><tr><td>4</td><td>14045113004</td><td>Shahid Nazir</td><td id=rid4> 
<input type="hidden" name="rno4" value="14045113004"/> 
<input type="hidden" name="stdname4" value="Shahid Nazir"/> 
<input type="radio" id="att4" name="att4" value="P" />Present 
<input type="radio" id="att4" name="att4" value="A" />Absent 
<input type="radio" id="att4" name="att4" value="L" />Leave 
</td></tr><tr><td>5</td><td>14045113005</td><td>Faizan Qadri</td><td id=rid5> 
<input type="hidden" name="rno5" value="14045113005"/> 
<input type="hidden" name="stdname5" value="Faizan Qadri"/> 
<input type="radio" id="att5" name="att5" value="P" />Present 
<input type="radio" id="att5" name="att5" value="A" />Absent 
<input type="radio" id="att5" name="att5" value="L" />Leave 
</td></tr><tr><td>6</td><td>14045113006</td><td>Farooq Ahmad Joo</td><td id=rid6> 
<input type="hidden" name="rno6" value="14045113006"/> 
<input type="hidden" name="stdname6" value="Farooq Ahmad Joo"/> 
<input type="radio" id="att6" name="att6" value="P" />Present 
<input type="radio" id="att6" name="att6" value="A" />Absent 
<input type="radio" id="att6" name="att6" value="L" />Leave 
</td></tr><tr><td>7</td><td>14045113007</td><td>Sajad Ahmad</td><td id=rid7> 
<input type="hidden" name="rno7" value="14045113007"/> 
<input type="hidden" name="stdname7" value="Sajad Ahmad"/> 
<input type="radio" id="att7" name="att7" value="P" />Present 
<input type="radio" id="att7" name="att7" value="A" />Absent 
<input type="radio" id="att7" name="att7" value="L" />Leave 
</td></tr><tr><td>8</td><td>14045113008</td><td>Shoaib Kirmani</td><td id=rid8> 
<input type="hidden" name="rno8" value="14045113008"/> 
<input type="hidden" name="stdname8" value="Shoaib Kirmani"/> 
<input type="radio" id="att8" name="att8" value="P" />Present 
<input type="radio" id="att8" name="att8" value="A" />Absent 
<input type="radio" id="att8" name="att8" value="L" />Leave 
</td></tr><tr><td>9</td><td>14045113009</td><td>Bilal Ahmad Hajam</td><td id=rid9> 
<input type="hidden" name="rno9" value="14045113009"/> 
<input type="hidden" name="stdname9" value="Bilal Ahmad Hajam"/> 
<input type="radio" id="att9" name="att9" value="P" />Present 
<input type="radio" id="att9" name="att9" value="A" />Absent 
<input type="radio" id="att9" name="att9" value="L" />Leave 
</td></tr><tr><td>10</td><td>14045113010</td><td>Danish Nabi</td><td id=rid10> 
<input type="hidden" name="rno10" value="14045113010"/> 
<input type="hidden" name="stdname10" value="Danish Nabi"/> 
<input type="radio" id="att10" name="att10" value="P" />Present 
<input type="radio" id="att10" name="att10" value="A" />Absent 
<input type="radio" id="att10" name="att10" value="L" />Leave 
</td></tr><tr><td>11</td><td>14045113011</td><td>Manzoor Ahmad Mir</td><td id=rid11> 
<input type="hidden" name="rno11" value="14045113011"/> 
<input type="hidden" name="stdname11" value="Manzoor Ahmad Mir"/> 
<input type="radio" id="att11" name="att11" value="P" />Present 
<input type="radio" id="att11" name="att11" value="A" />Absent 
<input type="radio" id="att11" name="att11" value="L" />Leave 
</td></tr><tr><td>12</td><td>14045113012</td><td>Manzoor Ahmad Wani</td><td id=rid12> 
<input type="hidden" name="rno12" value="14045113012"/> 
<input type="hidden" name="stdname12" value="Manzoor Ahmad Wani"/> 
<input type="radio" id="att12" name="att12" value="P" />Present 
<input type="radio" id="att12" name="att12" value="A" />Absent 
<input type="radio" id="att12" name="att12" value="L" />Leave 
</td></tr><tr><td>13</td><td>14045113013</td><td>Shabir Ahmad Bhat</td><td id=rid13> 
<input type="hidden" name="rno13" value="14045113013"/> 
<input type="hidden" name="stdname13" value="Shabir Ahmad Bhat"/> 
<input type="radio" id="att13" name="att13" value="P" />Present 
<input type="radio" id="att13" name="att13" value="A" />Absent 
<input type="radio" id="att13" name="att13" value="L" />Leave 
</td></tr><tr><td>14</td><td>14045113014</td><td>Arshid Baba</td><td id=rid14> 
<input type="hidden" name="rno14" value="14045113014"/> 
<input type="hidden" name="stdname14" value="Arshid Baba"/> 
<input type="radio" id="att14" name="att14" value="P" />Present 
<input type="radio" id="att14" name="att14" value="A" />Absent 
<input type="radio" id="att14" name="att14" value="L" />Leave 
</td></tr><tr><td>15</td><td>14045113015</td><td>Ishtiyaq Ahmad</td><td id=rid15> 
<input type="hidden" name="rno15" value="14045113015"/> 
<input type="hidden" name="stdname15" value="Ishtiyaq Ahmad"/> 
<input type="radio" id="att15" name="att15" value="P" />Present 
<input type="radio" id="att15" name="att15" value="A" />Absent 
<input type="radio" id="att15" name="att15" value="L" />Leave 
</td></tr><tr><td>16</td><td>14045113016</td><td>Ishfaq Ahmad Bhat</td><td id=rid16> 
<input type="hidden" name="rno16" value="14045113016"/> 
<input type="hidden" name="stdname16" value="Ishfaq Ahmad Bhat"/> 
<input type="radio" id="att16" name="att16" value="P" />Present 
<input type="radio" id="att16" name="att16" value="A" />Absent 
<input type="radio" id="att16" name="att16" value="L" />Leave 
</td></tr><tr><td>17</td><td>14045113017</td><td>Sajad Ahmad Wani</td><td id=rid17> 
<input type="hidden" name="rno17" value="14045113017"/> 
<input type="hidden" name="stdname17" value="Sajad Ahmad Wani"/> 
<input type="radio" id="att17" name="att17" value="P" />Present 
<input type="radio" id="att17" name="att17" value="A" />Absent 
<input type="radio" id="att17" name="att17" value="L" />Leave 
</td></tr><tr><td>18</td><td>14045113018</td><td>Ajaz Ahmad</td><td id=rid18> 
<input type="hidden" name="rno18" value="14045113018"/> 
<input type="hidden" name="stdname18" value="Ajaz Ahmad"/> 
<input type="radio" id="att18" name="att18" value="P" />Present 
<input type="radio" id="att18" name="att18" value="A" />Absent 
<input type="radio" id="att18" name="att18" value="L" />Leave 
</td></tr><tr><td>19</td><td>14045113019</td><td>Waseem Ahmad</td><td id=rid19> 
<input type="hidden" name="rno19" value="14045113019"/> 
<input type="hidden" name="stdname19" value="Waseem Ahmad"/> 
<input type="radio" id="att19" name="att19" value="P" />Present 
<input type="radio" id="att19" name="att19" value="A" />Absent 
<input type="radio" id="att19" name="att19" value="L" />Leave 
</td></tr><tr><td>20</td><td>14045113020</td><td>Adil Ahmad Khan</td><td id=rid20> 
<input type="hidden" name="rno20" value="14045113020"/> 
<input type="hidden" name="stdname20" value="Adil Ahmad Khan"/> 
<input type="radio" id="att20" name="att20" value="P" />Present 
<input type="radio" id="att20" name="att20" value="A" />Absent 
<input type="radio" id="att20" name="att20" value="L" />Leave 
</td></tr> 
<input type="hidden" id="rc" name="rc" value="20" /> 
<input type="hidden" name="Subject" value="C" /> 
<input type="hidden" name="Dept" value="MCA" /> 
<input type="hidden" name="Sem" value="1" /> 
<tr><td colspan="4" align="center"><input type="submit" value="Save"/> </td></tr></table> 
</form> 

回答

0

代碼要做到這一點,如下。 感謝所有的幫助。 但我已經這樣做了

function check() 
    { 
    var rc = document.getElementById("rc").value; 
    for(var i=1;i<=rc;i++) 
    { 
    var x="att"+i; 
    var y="rid"+i; 
    var len=document.getElementsByName(""+x).length; 
    var chk='No'; 
    var radio=document.getElementsByName(""+x); 
    for(var j=0;j<len;j++) 
    if(radio.item(""+j).checked==true) 
    { 
    chk='Yes'; 
    } 

    if(chk=='No') 
    { 
    document.getElementById(""+y).bgColor="Red"; 
    document.getElementById(""+y).focus(); 
    return false; 
    } 

    } 
    return true; 
    } 
+0

是的,我也從單選按鈕中刪除了ID。謝謝@ Hugo S.Mendes – Nayeem

0

你已經在你的標記重複的ID,解決它儘快請。

香草js的解決方案

var areAllSelected = ![].filter.call(document.querySelectorAll("td[id]"), function(group) { 
    return [].every.call(group.querySelectorAll("input[type=\"radio\"]"), function(radio) { 
    return !radio.checked; 
    }); 
}).length 
+0

哪裏有複製的ID。我認爲組中的單選按鈕應該有相同的名稱以及id不是。 – Nayeem

+0

@Nayeem它應該有相同的名稱,但id始終是唯一的。 –

0

這裏是你可以做什麼:

function check(){ 
    var tableElem = document.getElementById('table'); // 
    for(var tr = 2; tr < tableElem.rows.length; tr++){ 
    var isChecked = false; 
    for(var td = 0; td < tableElem.rows[tr].cells[3].children.length; td++){ 
    var inputElem = tableElem.rows[tr].cells[3].children[td]; 

    if(inputElem.type == "radio" && inputElem.checked) //check if at least one is checked 
     isChecked = true; 
    } 

    if(!isChecked) 
    return false; 
    } 

    return true; 
} 
+0

如何突出顯示未選中的特定單選按鈕組 – Nayeem

+0

無法更改我寫入的功能以檢查每個組中是否已選中按鈕。

  • 11. 通過動態窗體和麪板循環,並檢查是否單選按鈕檢查
  • 12. 如何檢查是否有任何單選按鈕被檢查
  • 13. 檢查是否有多個單選按鈕被選中
  • 14. 檢查是否單選按鈕中的一個項目檢查
  • 15. 檢查是否在struts2中檢查了某個單選按鈕。
  • 16. 檢查並更改單選按鈕組中的單選按鈕
  • 17. 通過兩個數組循環 - >標記複選框檢查
  • 18. 如何檢查每組複選框是否至少被選中一個
  • 19. 如何獲取每個組中的所有單選按鈕,並檢查每個組中是否已選中一個?
  • 20. 檢查For循環中的每個值
  • 21. 查詢是否在每個循環中檢查複選框是否在jQuery中檢查
  • 22. 如何檢查哪個單選按鈕(動態)被檢查?
  • 23. 如何檢查單選按鈕是否通過xquery選擇
  • 24. 通過表單元素循環並檢查是否需要
  • 25. 循環查看字典並檢查每個值類型
  • 26. jQuery:檢查是否在不同組中有未經檢查的單選按鈕
  • 27. On Button單擊以檢查單選按鈕是否被選中
  • 28. jquery/html檢查div單選按鈕,並允許每個名稱組中的1 div被加亮?
  • 29. Flex Actionscript - 通過xml循環查找是否至少有一個被檢查
  • 30. 如果語句不檢查每個值是否被選中