var reginfo=new Object()
function judge(a,c)
{
if(a.value=="")
 alert("\u8f93\u5165\u4e3a\u7a7a\uff01")
else
{
   switch (c)
   {
   
   case "add":
 reginfo.add=a.value
     break;
   case "imgnum":
 reginfo.imgnum=a.value
 break;
}
}
}function regiover()
{
alert(reginfo.add)
alert(reginfo.imginfo)
}
为什么judge()无法给reginfo赋值啊 我是初学 高手不要笑话啊 请问该怎么改 使judge能给reginfo赋值

解决方案 »

  1.   

    我决的你需要最下判断if(typeof reginfo.imginfo=='undefined'){
        reginfo['imginfo']=='333333';
    }else{
        reginfo.imginfo="2222222";
    }
      

  2.   

    LZ 看来这个reginfo是自定义对象,自定义对象没有构造函数
    加个构造方法:function Reginfo(add,imginfo){
        this.add=add;
        this.imginfo=imginfo;
    }var reginfo = new Reginfo();var reginfo = new Object();---不需要了
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <script>
    var reginfo=new Object()
    function judge(a,c)
    {
    if(a.value=="")
    alert("\u8f93\u5165\u4e3a\u7a7a\uff01")
    else
    {
    switch (c)
        {    
      case "add":
    reginfo.add = a.value;
    break;
      case "imgnum":
    reginfo.imgnum = a.value;
    break;
    }
    }
    } function regiover(lab)
    {
    judge(document.getElementById("field"), lab);
    alert("add:" + reginfo.add)
    alert("imgnum:" + reginfo.imgnum)//no reginfo.imginfo, is reginfo.imgnum

    </script>
    </head><body>
    <input type="text" id="field"/>
    <input type="button" value="test" onclick="regiover('add')"/>
    <input type="button" value="test2" onclick="regiover('imgnum')"/>
    </body>
    </html>
      

  4.   

    +
    注意reginfo.imginfo 和 reginfo.imgnum,后者有定义且赋值了,前者没有
      

  5.   

    三楼应该说的没错
    估计你是在没有执行judje()前就调用了regiover()函数
    judje函数没有调用 你构造的对象自然没值 怎么能取到值我只是猜测 主要是还没看到你函数的调用过程
      

  6.   

    一直在忙着网站 贴结完了 sorry 找到问题了 调用时出毛病了 多谢各位啊