<html:text property="segOrgn" style="width:40px" value="" maxlength="3" onpropertychange="afterValueChange(this)" />
显示出错:Attribute onpropertychange invalid for tag text according to TLD。显然是struts1.2标签<html:text>不能用onpropertychange事件。
在html的<input>可以用onpropertychange,但是类似于html<input>的<html:text>应当怎样调用类似于onpropertychange的事件???
显示出错:Attribute onpropertychange invalid for tag text according to TLD。显然是struts1.2标签<html:text>不能用onpropertychange事件。
在html的<input>可以用onpropertychange,但是类似于html<input>的<html:text>应当怎样调用类似于onpropertychange的事件???
其实我能找到用onpropertychange的方法,但是还是没能成功解决:
function afterAirportChange(objAirport){
objAirport.attachEvent('onpropertychange',function(o){
if(o.propertyName!='value')return;////不是value改变不执行下面的操作
var RangeTr = objAirport.parentElement.parentElement;
clearFlightDate_new(objAirport);
clearNextFlightDate_new(RangeTr.all.segmentId.value); });
}在html:text内容加上
onblur="afterAirportChange(this)"
这样在值没有改变的情况下,照样把其他的文本框内容删除。不知为什么
clearFlightDate_new(objAirport);
clearNextFlightDate_new(RangeTr.all.segmentId.value);
你说的值没改变,然后还照样把其他文本框内容删除。你的方法不是在失去 <html:text property="segOrgn" ..../>的焦点后触发吗?你alert下。看看进入到哪一步删除的文本框。
用nfocus和onblur,可以处理。
<input onfocus="beforValueChange(this)" onblur="afterValueChange(this)" />
1首先定义一个全局变量,
2在onfocus得到焦点时赋值
3再在onblur失去焦点时判断新值和旧值是否相同这样就能解决了struts1.2标签<html:text>不能用onpropertychange事件的问题。