我有一个基于复选框中的值隐藏HTML元素的Javascript代码。复选框和其他元素是以表格的形式填充来自数据库的值。这是一个考勤记录。我遇到的问题是,JavaScript运行良好的第一行,但运行到后续的。在php中循环使用Javascript函数
这是JavaScript:
<script language="JavaScript" type="text/javascript">
function initiallyHideElements() {
var absent = document.getElementById('emppresent').value;
var reason = document.getElementById('absentReason');
var remarks = document.getElementById('remarks');
var timein = document.getElementById('timein');
var timeout = document.getElementById('timeout');
reason.style.visibility = 'hidden';
remarks.style.visibility = 'hidden';
timein.style.visibility = 'visible';
timeout.style.visibility = 'visible';
}
function hideShowElements(){
var absent = document.getElementById('emppresent').value;
var reason = document.getElementById('absentReason');
var remarks = document.getElementById('remarks');
var timein = document.getElementById('timein');
var timeout = document.getElementById('timeout');
if (absent == "Yes") {
reason.style.visibility = 'visible';
remarks.style.visibility = 'visible';
timein.style.visibility = 'hidden';
timeout.style.visibility = 'hidden';
} else {
reason.style.visibility = 'hidden';
remarks.style.visibility = 'hidden';
timein.style.visibility = 'visible';
timeout.style.visibility = 'visible';
}
}
</script>
现在这里是循环的地步。
<form action="processAttRegister.php" method="post" name="frmAttregister">
<table width="95%" border="1" align ="center" cellpadding="0" cellspacing="0" id="projectOverview">
<tr>
<th width="72">Date</th>
<th width="144">Name</th>
<th width="46">Absent</th>
<th width="143">Reason For Absence</th>
<th width="42">Time In</th>
<th width="42">Time Out</th>
<th width="152">Remarks</th>
<?php
$atts = mysql_query("SELECT * FROM tblemployeedata WHERE grade>4 AND section=3");
while($att = mysql_fetch_array($atts)) {
echo '<script type="text/javascript">initiallyHideElements();</script>';
?>
<tr id="projectlist">
<td><input name="date" id="date"type="text" value="<?php echo date("d-m-Y");?>" readonly size="12"/></td>
<td><input name="name" id="name"type="text" value="<?php echo $att["firstname"]." ".$att["surname"];?>" readonly /></td>
<td>
<div align="center">
<input name="emppresent" id="emppresent" type="checkbox" value="Yes" onclick="hideShowElements()"/>
</div>
</td>
<td>
<select name="absentReason" id="absentReason">
<option value="value" selected="selected">-</option>
<option value="Funeral">Attending Funeral</option>
<option value="Sick">Sick</option>
<option value="Other">Other</option>
</select>
</td>
<td><input type="text" name="timein" id="timein" size="7"/></td>
<td><input type="text" name="timeout" id="timeout" size="7"/></td>
<td>
<textarea name="remarks" id="remarks" cols="20" rows="3"></textarea>
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="7">
<div align="center">
<input name="postAttendance" type="submit" id="postAttendance" value="Register Project" align="center" />
</div>
</td>
</tr>
</table>
</form>
你不能有相同的ID不同的元素! 使用类,每个页面id是唯一的。 –