日期:2014-05-16  浏览次数:20315 次

怎样传递数组?
我在test3文档中写了一个判断2个数是否相等的方法,参数value1(单个值)如果等于value2(数组形式)中的任何一个值,则返回true,否则返回false.
function   eq(value1,value2)                 //value2为数组
{
        var   i,flag,eq_Result;                 //定义一个flag来标识有没有相等的情况
flag=0;
for(i=0;i <value2.length;i++)
{
if(value1   ==   value2[i])
flag++;
}
if(flag> 0)
eq_Result   =   true;
else
eq_Result   =   false;
return   eq_Result;
}


在test2文档中我在onblur事件处要传入value1和value2,请问应该怎样写?确切的说是怎样传入数组参数?
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 "   />
<title> JavaScript测试 </title>
<script   language   =   "javascript "   src= "js/test3.js ">
</script>
<script   language= "javascript "   src= "js/jquery.js ">

var   value1;
var   value2   =   new   Array();
value1   =   '100 ';
value2[0]   =   '100 ';
value2[1]   =   '101 ';
value2[2]   =   '102 ';
value2[3]   =   '103 ';
</script>
</head>
......
<form   id= "form1 "   name= "form1 "   method= "post "   action= " ">
    <label> text1
    <input   type= "text "   name= "textfield "    
                  onblur= "eq(value1,value2) "/> ——这里我这么传入好像不行!
    </label>
</form>
......
求教!


------解决方案--------------------
这么传应该是没什么问题,你把eq(value1,value2)方法拷贝到本页,看看好使吗?
好使就是引入.js文件的问题了
------解决方案--------------------
onblur= "eq(value1,value2) "
换成
onblur= "eval(eq(value1,value2)) "
看看
------解决方案--------------------
第一段代码就是“test3.js”的内容吗?

return eq_Result;
返回的值你把它放哪里呢?

我的修改:

<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 " />
<title> JavaScript测试 </title>
<script language= "javascript ">

var value1;
var value2 = new Array();
value1 = '100 ';
value2[0] = '100 ';
value2[1] = '101 ';
value2[2] = '102 ';
value2[3] = '103 ';

function eq(value1,value2) //value2为数组
{
var i,flag,eq_Result; //定义一个flag来标识有没有相等的情况
flag=0;
for(i=0;i <value2.length;i++)
{
if(value1 == value2[i]) flag++;
}
if(flag> 0)
eq_Result = 1;
else
eq_Result = 0;
document.all.eq_Result.value = eq_Result;
}
</script>
</head>
......
<form id= "form1 " name= "form1 " method= "post " action= " ">
<label> text1
<input type= "text " name= "textfield " onblur= "eq(value1,value2) " />
</label>
<input type= "text " id= "eq_Result " />