关于失去焦点

chxzll 2003-08-07 12:51:21
<Script language="Javascript">
FujiValueableArray[0] = ",110,120,130,";
</Script>
<td>
经济类型:<input type="text" name="FUJI_0" value="<%=rs.fields(0).value%>" onblur="check(0,this)">
</td>
</tr>
<Script language="Javascript">
FujiValueableArray[1] = ",1,2,";
</Script>
<td>
地区码:<input type="text" name="FUJI_1" value="<%=rs.fields(1).value%>" onblur="check(1,this)">
</td>
<td>
<Script language="Javascript">
FujiValueableArray[2] = "0-99";
</Script>
企业规模:<input type="text" name="FUJI_2" value="<%=rs.fields(2).value%>" onblur="check(2,this)">
</td>


调用的函数
function check(indx,obj)
{
if(errorinput!=null)
{
if(confirm("超出范围,是否修改?")
{
errorinput.focus();
errorinput=null;
return;
}
return;
}
if ((obj.value!="")&(FujiValueableArray[indx]!=null))
{
//如果值域是0-99的情况
var posj = FujiValueableArray[indx].indexOf("-");
if(posj>=0)
{
var strl = FujiValueableArray[indx].substr(0,posj);
var strr = FujiValueableArray[indx].substr(posj+1);
var xx = parseInt(strl);
var sx = parseInt(strr);
if((obj.value>=xx)&(obj.value<=sx))
{
return;
}
else
{
if (FujiValueableArray[indx+1]==null)
{
if(confirm("超出值域范围,是否修改?"))
{
obj.focus();
return;
}
return;
}
else
{
obj.focus();
errorinput=obj;
return;
}
}
}
else
{
var stri = "," + obj.value + ",";
var posi = FujiValueableArray[indx].indexOf(stri);
if (posi>=0)
{
return;
}
else
{
if (FujiValueableArray[indx+1]==null)
{
alert("错误!");
obj.focus();
return;
}
else
{
obj.focus();
errorinput=obj;
return;
}
}
}
}
}
想实现三个文本框失去焦点的判断,可老是实现不了,各位帮帮忙,或者有没有别的实现办法
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsidiot 2003-08-07
  • 打赏
  • 举报
回复
刚才的有点错误
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body STYLE="background-color:transparent" >

<Script language="Javascript">
var FujiValueableArray = [];
FujiValueableArray[0] = ",110,120,130,";
</Script>
<td>
经济类型:<input type="text" name="FUJI_0" value="10" onblur="check(0,this)">
</td>
</tr>
<Script language="Javascript">
FujiValueableArray[1] = ",1,2,";
</Script>
<td>
地区码:<input type="text" name="FUJI_1" value="420" onblur="check(1,this)">
</td>
<td>
<Script language="Javascript">
FujiValueableArray[2] = "0-99";
</Script>
企业规模:<input type="text" name="FUJI_2" value="1000" onblur="check(2,this)">
</td>


<script>
function check(indx,obj){
elementName = obj.name;
nameArray = obj.name.split('_');
var nextObjName ,nextObj ,flag = 0 ;
nextObjName = nameArray[0] + "_" + (parseInt(nameArray[1],10) + 1);
var nextObj = eval("document.all." + nextObjName);
if(typeof(nextObj) == undefined || nextObj == "" || nextObj == null){
nextObjName = nameArray[0] + "_0" ;
var nextObj = eval("document.all." + nextObjName);
}
if(obj.value == '' || isNaN(obj.value) ){
return;
}else{
if(FujiValueableArray[indx] == null){
return;
}else if(FujiValueableArray[indx].indexOf('-') > -1 ){
newArray = FujiValueableArray[indx].split('-');
if((parseInt(obj.value,10) < parseInt(newArray[1],10)) && (parseInt(obj.value,10) > parseInt(newArray[0],10))){
nextObj.focus();
}else{
if(confirm("值超出?要修改嘛?")){
obj.focus();
}else{
nextObj.focus();
}
}
}else {
newArray = FujiValueableArray[indx].split(',');
for(i = 0 ;i < newArray.length ;i++){
if(obj.value == newArray[i]){
flag = 1;
break;
}
}
if(flag == 0){
if(confirm("值超出?要修改嘛?")){
obj.focus();
}else{
nextObj.focus();
}
}
}
}
}

</script>
</body>
</html>
jsidiot 2003-08-07
  • 打赏
  • 举报
回复
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body STYLE="background-color:transparent" >

<OBJECT id=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px">
</OBJECT>

<Script language="Javascript">
var FujiValueableArray = [];
FujiValueableArray[0] = ",110,120,130,";
</Script>
<td>
经济类型:<input type="text" name="FUJI_0" value="10" onblur="check(0,this)">
</td>
</tr>
<Script language="Javascript">
FujiValueableArray[1] = ",1,2,";
</Script>
<td>
地区码:<input type="text" name="FUJI_1" value="420" onblur="check(1,this)">
</td>
<td>
<Script language="Javascript">
FujiValueableArray[2] = "0-99";
</Script>
企业规模:<input type="text" name="FUJI_2" value="1000" onblur="check(2,this)">
</td>


<script>
function check(indx,obj){
elementName = obj.name;
nameArray = obj.name.split('_');
var nextObjName ,nextObj ,flag = 0 ;
nextObjName = nameArray[0] + "_" + (parseInt(nameArray[1],10) + 1);
var nextObj = eval("document.all." + nextObjName);
if(typeof(nextObj) == undefined || nextObj == "" || nextObj == null){
nextObjName = nameArray[0] + "_0" ;
var nextObj = eval("document.all." + nextObjName);
}
if(obj.value == '' || isNaN(obj.value) ){
return;
}else{
if(FujiValueableArray[indx] == null){
return;
}else if(FujiValueableArray[indx].indexOf('-') > -1 ){
newArray = FujiValueableArray[indx].split('-');
if(obj.value < newArray[1] || obj.value > newArray[0]){
nextObj.focus();
return ;
}else{
if(confirm("值超出?要修改嘛?")){
obj.focus();
}else{
nextObj.focus();
}
}
}else {
newArray = FujiValueableArray[indx].split(',');
for(i = 0 ;i < newArray.length ;i++){
if(obj.value == newArray[i]){
flag = 1;
break;
}
}
if(flag == 0){
if(confirm("值超出?要修改嘛?")){
obj.focus();
}else{
nextObj.focus();
}
}
}
}
}

</script>
</body>
</html>
chxzll 2003-08-07
  • 打赏
  • 举报
回复
三个文本框通过FujiValueableArray设置了其值域范围,想在推动焦点的时候判断其是否在值域范围内,但可能存在这种情况,一开始文本框内有值且可能都存在错误,所以用了errorinput来避免出现的死循环,因为第一个文本框推动焦点意味着第二个文本框得到焦点又失去焦点,这样反复,现在想实现出现confirm后,如果点确定,就修改,取消,当前文本框就失去焦点,继续往下走
这样实现的话哪不对啊

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧