- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript"
src="/HRMS/struts/dojo/struts_dojo.js"></script>
<script language="JavaScript" type="text/javascript"
src="/HRMS/struts/ajax/dojoRequire.js"></script>
<link rel="stylesheet" href="/HRMS/struts/xhtml/styles.css" type="text/css"/>
<script language="JavaScript" src="/HRMS/struts/utils.js" type="text/javascript"></script>
<script language="JavaScript" src="/HRMS/struts/xhtml/validation.js" type="text/javascript"></script>
<script language="JavaScript" src="/HRMS/struts/css_xhtml/validation.js" type="text/javascript"></script>
</head>
<body style="margin:0px;">
<!-- body starts here -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">
<!-- welcome Message starts here -->
<!-- PAGE TITLE starts here -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pagetitle"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="pagetitle">OT/UT ENTRY</td>
</tr>
</table></td>
</tr>
</table>
<!-- PAGE TITLE ends here -->
<!-- TO display success and error messages -->
<table width="100%" border="0" cellspacing= "0" cellpadding="0">
<tr>
<td colspan="2" class="successmsg"></td>
</tr>
<tr>
<td colspan="2" class="errors"></td>
</tr>
</table>
<!-- End of displaying success or error messages -->
<!-- FORM starts here -->
<script>
var xmlHttp;// global instance of XMLHttpRequest
var counter = 0;
function hoursValidator(empNo,obj){
var mode = document.getElementById("mode");
var selMode = mode.options[mode.selectedIndex].value;
var otUtDate = document.getElementById("attendanceDateStr").value;
var hrs = obj.value;
var resp;
if(hrs === '0'){
alert("Entered hours should be more than 0");
obj.value="";
return false;
}
if(hrs === '12'){
var row = obj.parentNode.parentNode;
var minutes = row.querySelectorAll("id='minutes'");
alert(row);
// alert(mimutes);
// var x = obj.nextSibling.innerHTML;
document.getElementById("minutes").disabled = true;
}
}
</script>
<form id="loadEmployeeOTUTEntry" name="empSuspensionViewSearch" action="/HRMS/hr/loadEmployeeOTUTEntry.action" method="post">
<input type="hidden" name="cutOff" value="21-OCT-2015 00:00:00" id="cutOff"/>
<input type="hidden" name="lastRunOtut" value="10-NOV-2015 11:50:04" id="cutOff"/>
<fieldset class="fieldset">
<legend class="legendtitle">OT/UT - ENTRY</legend>
<table width="100%" border="0" cellspacing= "0" cellpadding="0">
<tr>
<td class="labelone2">Branch:<span class="mandatory">*</span></td>
<td class="dataone1">
<select name="hrOtUtRegisterDtl.branchCode" id="branch" class="txtbox_mandatory">
<option value="3102" selected="selected">AL AIN MALL ALAIN</option>
</select>
</td>
<td class="labelone2">Department:<span class="mandatory">*</span></td>
<td class="dataone1" colspan=2>
<select name="hrOtUtRegisterDtl.deptCode" id="dept" class="txtbox_mandatory">
<option value="16" selected="selected">CASH EXPRESS</option>
</select>
</td>
</tr>
<tr align="center">
<td class="labelone1" width="15%">Date:<span class="mandatory">*</span></td>
<td class="dataone2" width="35%"><input type="text" name="hrOtUtRegisterDtl.attendanceDateStr" value="12-Nov-2015" id="attendanceDateStr" class="txtbox" onblur="return dateValidator(id);"/>
</td>
<td class="labelone2">Action:<span class="mandatory">*</span></td>
<td class="dataone1" colspan = 2>
<select name="hrOtUtRegisterDtl.otUtFormType" id="mode" class="txtbox_mandatory" onchange="getEmployees();">
<option value="OT" selected="selected">OVER TIME</option>
<option value="UT">UNDER TIME</option>
</select>
</td>
</tr>
<tr>
<td class="buttonband" colspan="4">
<input type="button" class="btn" value="Search" onclick="getEmployees();"/>
<input name="button" type="reset" class="btn" value="Clear" onclick="reload();">
</td>
</tr>
<div
id="divSearchResult"
class="csShow"
>
<script>document.getElementById("attendanceDateStr").readOnly = true;</script>
<br><table>
<tr>
<td class="Htd_one1" width="5%"><div align="center">Serial Number</div></td>
<td class="Htd_one1" width="30%"><div align="center">Employee Number</div></td>
<td class="Htd_one1" width="30%"><div align="center">Employee Name</div></td>
<td class="Htd_one1" width="20%"><div align="center">Hours</div></td>
<td class="Htd_one1" width="20%"><div align="center">Minutes</div></td>
</tr>
<tr class="oddrow">
<td class="dataone2" align="center">
<div align="center">1</div>
</td>
<td class="dataone2"><div align="center">
11727</div>
<input type="hidden" name="hrOtUtRegisterDtl.empNum" value="11727" id="empNum"/>
</td>
<td class="dataone2">
OBAIDULLAH KHAN MOHAMMED YAQOOBULLAH KHAN MOHAMMED
<input type="hidden" name="hrOtUtRegisterDtl.empName" value="OBAIDULLAH KHAN MOHAMMED YAQOOBULLAH KHAN MOHAMMED" id="empName"/>
</td>
<td class="dataone2" >
<input type="text" name="hrOtUtRegisterDtl.hoursStr" value="" id="hours" class="txtbox_mandatory" onblur="hoursValidator('11727',this);" onkeydown="return allowNumberOnly(event);"/>
</td>
<td class="dataone2" >
<input type="text" name="hrOtUtRegisterDtl.minutesStr" value="" id="minutes" class="txtbox_mandatory" onblur="minsValidator('11727',this);" onkeydown="return allowNumberOnly(event);"/>
</td>
</tr>
<tr>
<td class="buttonband" colspan="4">
<input type="button" class="btn" value="Submit" onclick="saveOTUT();"/>
</td>
</tr>
</table>
</div>
</table>
</fieldset>
</form>
<!-- FORM ends here -->
</td>
</tr>
</table>
<!-- body Ends here -->
</body>
</html>
我有多行显示小时和分钟。如果用户在一行中输入小时数为 12,则应对该行禁用分钟数。
//obj.nextSibling.disabled = true;
//obj.nextSibling.readonly = true;
不工作。还有其他语法可以实现吗?
<script>
function hoursValidator(empNo,obj){
var hrs = obj.value;
if(hrs === '12'){
obj.nextSibling.disabled = true;
obj.nextSibling.readOnly = true;
document.getElementById("minutes").disabled = true;
}
</script>
<s:iterator status="stat" value="empList" id="empList">
<tr>
<td >
<s:property value="empName" />
</td>
<td>
<s:textfield name="hoursStr" value = "%{hoursStr}" onblur="hoursValidator('%{empNum}',this);" onkeydown="return allowNumberOnly(event);" id="hours"/>
</td>
<td class="dataone2" >
<s:textfield name="minutesStr" value = "%{minutesStr}" onblur="minsValidator('%{empNum}',this);" id="minutes" onkeydown="return allowNumberOnly(event);"/> </td>
</tr>
</iterator>
最佳答案
首先,您需要确保 hoursValidator()
函数中的 obj
实际上是 hoursStr
对象。您报告的一些情况表明 obj
设置不正确。
如果 obj
是 hoursStr
对象,那么您可以像这样获取同一行中的 minutesStr
对象:
var row = obj.parentNode.parentNode;
var minutes = row.querySelectorAll("[name='hrOtUtRegisterDtl.minutesStr']");
minutes[0].disabled = true;
minutes[0].readonly = true;
您不能使用 nextSibling
,因为目标对象位于不同的表格单元格中 - 它不是同一单元格中的同级对象。
我发现您在每一行中都使用 id="months"
和 id="hours"
。 ID 在整个文档中必须是唯一的,这样对于每行中重复的结构将不起作用。这就是为什么我没有在上面推荐的代码中使用这些 id 值。
使用您的 HTML 进行工作演示:http://jsfiddle.net/jfriend00/x3djcmf9/
<小时/>而且,如果您只有一行 id="months"
,那么您也可以执行以下操作:
var minutes = document.getElementById("minutes");
minutes.disabled = true;
minutes.readonly = true;
工作演示:http://jsfiddle.net/jfriend00/6dLgkm5v/
附注如果数字被编辑为“12”以外的其他内容,您可能需要重新启用该字段。
关于javascript obj.nextSibling.disabled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665269/
我正在尝试创建键值对并推送到数组,但我得到的只是 [Obj Obj]、[Obj Obj]。我创建了一个传递名称和值的函数,用于将键和值分配给 JavaScript 对象。这是我的代码。不确定我错过了什
似乎在 for 循环的上下文中,关于对象的语法发生了变化。 为什么 console.log() 不应该运行相同的东西?第一个按预期运行,第二个呈现错误“steve is not defined”: v
在 Ady Osmani 的 blog post关于 js 中的命名空间,他提到了 5 个常见做法来测试先前定义的命名空间/对象是否存在以防止覆盖。我在这里复制我关注的 3 个: var myAppl
有没有办法(我怀疑它涉及继承和多态)来区分OBJ o, OBJ& o, const OBJ& o?我希望在 3 个不同的程序中使用相同的代码,并使用相同的方法名称调用不同的方法。 int main()
我正在寻找一个正则表达式来分割这种内容: obj.method(obj.attr,obj.attr2) 我希望拆分返回一个数组: ["obj", "method(obj.attr, obj.attr2
我想知道这些方法中哪种更好: var Obj = Obj || {}; 或 if (Obj === undefined || typeof Obj !== 'object') { Obj = {}
我正在尝试将一个值推送到数组的属性,如下所示 var obj = {}; obj.a = (obj.a || []).push(10); console.log( typeof obj.a );
为了避免误解,我们首先要就某些词语的含义达成一致。以下含义并非普遍接受的含义,我仅建议将它们作为此问题的背景。 function -- Function 的一个实例。它有一个与其关联的过程。 obje
我总是不确定哪个是正确的以及该使用哪个。 通常我会进行(obj == null)检查。我认为最好直接问。 我应该使用以下哪一项: if (obj == null) { alert(
我正在处理一些使用 pygraph 模块的类,当我使用 add_node() 方法时,它总是出现“node xxx already in graph”。所以我尝试使用 deepcopy() 创建一个新
在 this page您可以看到以下示例,了解如何实现数组的indexOf: if (!Array.prototype.indexOf) { Array.prototype.indexOf = f
(1) 和 (2) 之间是否存在任何重要差异(语义、性能相关等)? var obj = obj || {}; var obj = Object(obj); 上下文。第一个是我在 Django 的模板和
我想知道 obj !== obj 什么时候可以为真? 这是我在书上看到的一行代码,我很纳闷。 var result = class2type[(obj == null || obj !== obj)]
我有时会看到这种模式...... obj.method.call(obj, arg) 我不明白为什么它不同于... obj.method(arg) 为什么要使用第一种模式? 我的天啊,似乎引起了很
我刚刚在一段 React 代码中发现了以下结构(名称已更改): 据我了解,bind 只是执行相应的函数,并将函数的 this 设置为第一个参数,并向其传递更多参数。由于 func 已经是我们想要的
当我们查看Underscore.js源码时,我们可以看到如下内容: _.isObject = function (obj) { return obj === Object(obj);
我在将项目发布到本地系统时收到此错误 Copying file obj\Debug\build.force to obj\Release\Package\PackageTmp\obj\Debug\bu
我有一个类型为 Expression> 的现有表达式;它包含类似 cust => cust.Name 的值. 我还有一个父类,其字段类型为 T .我需要一个接受上述作为参数并生成一个以父类 ( TMo
我在当前目录中有 add.c sub.c 并通过 makefile 编译它们。 我做了以下事情: program 1: objs=$(patsubst %.cpp, %.o, $(wildcard *
这个问题在这里已经有了答案: Is there a difference between copy initialization and direct initialization? (9 个回答)
我是一名优秀的程序员,十分优秀!