这样怎会死循环呢? 抢焦点的死循环。onblur="checkMoney();">-->>>onchange="checkMoney();">不过像这样比较大小的判断,应该放在提交之前验证而不是放在输入完就立即验证。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 验证改成这样看看要好一些:<from name="frm">.....<tr> <td><DIV align=right>金额范围:</DIV></td> <td colspan="3" nowrap> 大于 <input name="devDeviceLMoney" size="20" type="text" id="devDeviceLMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" > 小于 <input name="devDeviceHMoney" size="20" type="text" id="devDeviceHMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" > <select name="devUnit" id="devUnit" onchange="getQueryResult();"> <option value="10000">万元</option> <option value="1">元</option> </select></td> <br> <input type="button" value="button1" name="chech" onclick="javascript:checkMoney()"> </tr></form><script language="javascript">function checkMoney(){ var strLow,strHight; var low,hight; strLow=trim(frm.devDeviceLMoney.value); strHight=trim(frm.devDeviceHMoney.value); if(strLow.length!=0 && strHight.length!=0){ low=parseFloat(trim(frm.devDeviceLMoney.value)); hight=parseFloat(trim(frm.devDeviceHMoney.value)); if(hight<low){ alert("错误:请注意查询时设备金额范围的逻辑!"); if(event.srcElement.name=="devDeviceHMoney"){ frm.devDeviceHMoney.focus(); frm.devDeviceHMoney.select(); return false; } else if(event.srcElement.name=="devDeviceLMoney"){ frm.devDeviceLMoney.focus(); frm.devDeviceLMoney.select(); return false; } //return false; } } getQueryResult();</script> 改为onchange也出现同样的情况啊请教一下,我怎取消原来的动作。如:出错后选择其中任一个输入框,点击另一个框,这时第一个框激发了事件checkMoney,我怎样取消掉另一个框的点击事件,是不是这样就可以避免死循环?还有,怎样决断当前focus在哪像呢? 改成onchange后若还有死循环,那就是“getQueryResult();”的问题。如下代码,注释掉“getQueryResult();”后,效果是正常的,并没有死循环。<form name="frm">.....<tr> <td><DIV align=right>金额范围:</DIV></td> <td colspan="3" nowrap> 大于 <input name="devDeviceLMoney" size="20" type="text" id="devDeviceLMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" onchange="checkMoney();"> 小于 <input name="devDeviceHMoney" size="20" type="text" id="devDeviceHMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" onchange="checkMoney();"> <select name="devUnit" id="devUnit" onchange="getQueryResult();"> <option value="10000">万元</option> <option value="1">元</option> </select></td> </tr></form><script language="javascript">function checkMoney(){ var strLow,strHight; var low,hight; strLow=trim(frm.devDeviceLMoney.value); strHight=trim(frm.devDeviceHMoney.value); if(strLow.length!=0 && strHight.length!=0){ low=parseFloat(trim(frm.devDeviceLMoney.value)); hight=parseFloat(trim(frm.devDeviceHMoney.value)); if(hight<low){ alert("错误:请注意查询时设备金额范围的逻辑!"); if(event.srcElement.name=="devDeviceHMoney"){ frm.devDeviceHMoney.focus(); frm.devDeviceHMoney.select(); return false; } else if(event.srcElement.name=="devDeviceLMoney"){ frm.devDeviceLMoney.focus(); frm.devDeviceLMoney.select(); return false; } //return false; } } //getQueryResult(); }</script> 求jquery插件的jquery.corner的问题修改table标签的问题 请教Javascript的问题 有关Jquery sortable,我想保存排序后的新顺序,写到后台,不知道要怎么做? javascript歌词同步问题 table 小问题 ,在线等,测试经过马上揭帖 小问题,快拿分。。 急问两个问题~~ 我在17"显示器上做的东西,放到15"上去,采用onMouseOver()显示时,根本不能显示! javascript如何判断复选框是否全部被选中 JS调用外部信息列表 鼠标画线问题 急:请问如何在不刷新页面的情况下,当一个下拉列表改变时,改变别一个下拉列表的内容
<from name="frm">
.....
<tr>
<td><DIV align=right>金额范围:</DIV></td>
<td colspan="3" nowrap> 大于
<input name="devDeviceLMoney" size="20" type="text" id="devDeviceLMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" >
小于
<input name="devDeviceHMoney" size="20" type="text" id="devDeviceHMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" >
<select name="devUnit" id="devUnit" onchange="getQueryResult();">
<option value="10000">万元</option>
<option value="1">元</option>
</select></td>
<br> <input type="button" value="button1" name="chech" onclick="javascript:checkMoney()">
</tr>
</form><script language="javascript">
function checkMoney(){
var strLow,strHight;
var low,hight;
strLow=trim(frm.devDeviceLMoney.value);
strHight=trim(frm.devDeviceHMoney.value);
if(strLow.length!=0 && strHight.length!=0){
low=parseFloat(trim(frm.devDeviceLMoney.value));
hight=parseFloat(trim(frm.devDeviceHMoney.value));
if(hight<low){
alert("错误:请注意查询时设备金额范围的逻辑!");
if(event.srcElement.name=="devDeviceHMoney"){
frm.devDeviceHMoney.focus();
frm.devDeviceHMoney.select();
return false;
}
else if(event.srcElement.name=="devDeviceLMoney"){
frm.devDeviceLMoney.focus();
frm.devDeviceLMoney.select();
return false;
}
//return false;
}
}
getQueryResult();</script>
请教一下,我怎取消原来的动作。
如:出错后选择其中任一个输入框,点击另一个框,
这时第一个框激发了事件checkMoney,我怎样取消掉另一个框的点击事件,是不是这样就可以避免死循环?还有,怎样决断当前focus在哪像呢?
如下代码,注释掉“getQueryResult();”后,效果是正常的,并没有死循环。<form name="frm">
.....
<tr>
<td><DIV align=right>金额范围:</DIV></td>
<td colspan="3" nowrap> 大于
<input name="devDeviceLMoney" size="20" type="text" id="devDeviceLMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" onchange="checkMoney();">
小于
<input name="devDeviceHMoney" size="20" type="text" id="devDeviceHMoney" onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false" style="ime-mode:Disabled" onchange="checkMoney();">
<select name="devUnit" id="devUnit" onchange="getQueryResult();">
<option value="10000">万元</option>
<option value="1">元</option>
</select></td>
</tr>
</form><script language="javascript">
function checkMoney(){
var strLow,strHight;
var low,hight;
strLow=trim(frm.devDeviceLMoney.value);
strHight=trim(frm.devDeviceHMoney.value);
if(strLow.length!=0 && strHight.length!=0){
low=parseFloat(trim(frm.devDeviceLMoney.value));
hight=parseFloat(trim(frm.devDeviceHMoney.value));
if(hight<low){
alert("错误:请注意查询时设备金额范围的逻辑!");
if(event.srcElement.name=="devDeviceHMoney"){
frm.devDeviceHMoney.focus();
frm.devDeviceHMoney.select();
return false;
}
else if(event.srcElement.name=="devDeviceLMoney"){
frm.devDeviceLMoney.focus();
frm.devDeviceLMoney.select();
return false;
}
//return false;
}
}
//getQueryResult();
}</script>