问题描述
- 比较两个时间的函数实现
-
代码如下<td> <s:text name="label.Sampling.text.Date"/> </td> <td> <s:text name="label.Sampling.text.supplierProductCode"/> </td> <td> <s:textfield name="sample.date" id="date" cssStyle="xx" readonly="true" cssClass="xx" maxLength="7"/> </td> <td> <s:textfield name="sample.product_code" cssStyle="xx" id="supplierProductCode" readonly="true" cssClass="xx" maxlength="18"/> </td>
解决方案
既然你什么都是大概
那也只能给你个大概的回答
解决方案二:
onblur的时候js检查下,不懂你的date输入格式是什么样的,下面是以2015-1-26这种形式的,如果其他的注意修改正则和split分隔符号
<s:textfield name="sample.product_code" cssStyle="xx" id="supplierProductCode" readonly="true" cssClass="xx" maxlength="18" onblur="checkDate(this)"/>
<script>
function checkDate(code) {
var rx = /^d{4}-d{1,2}-d{1,2}$/;//注意这里
if (!rx.test(code.value)) { alert('请输入正确的code格式!'); code.select(); return false }
var tr = code.parentNode.parentNode, cellIndex = code.parentNode.cellIndex;
var date = tr.cells[cellIndex - 1].getElementsByTagName('input')[0]; //得到同一行的date控件
if (!rx.test(date.value)) { date.select(); alert('请输入正确的date格式!'); return }
var arrdate = date.value.split('-'), arrcode = code.value.split('-'); ////注意这里
var dDate = new Date(parseInt(arrdate[0], 10), parseInt(arrdate[1], 10) - 1, parseInt(arrdate[2], 10)),
dCode = new Date(parseInt(arrcode[0], 10), parseInt(arrcode[1], 10) - 1, parseInt(arrcode[2], 10));
if (dCode < dDate) {alert('Code不能小于date');}
}
</script>
解决方案三:
你贴的代码不全,只有一个时间,product_code又不是时间
解决方案四:
再说文本框还是只读的。你是不是贴错了。
解决方案五:
时间: 2024-12-09 05:12:40