代码如下
<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>
如果code的输入时间小于Date的输入时间,弹出一个错误提示框.这个函数具体代码怎么编写呢?
既然你什么都是大概
那也只能给你个大概的回答
再说文本框还是只读的。你是不是贴错了。
你贴的代码不全,只有一个时间,product_code又不是时间
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>