我做的一个JSP页面,有个表单,表单里有个TEXT控件,我想实现这样一个功能,
就是在这个TEXT控件后面有个小按钮,图标是放大镜的样子,然后我一点,就会弹出一个页面,并且显示我想要的一些信息记录
,我觉得就是发出一个请求,去服务器那边获得些数据,然后显示出来,这个时候,显示的这些记录的某一个字段,比如是名称吧,这个内容是个链接,我一点这个链接,这个页面就会关闭,并且回到我说的第一个JSP页面中,并且把刚刚点击的那条记录的某一个字段,比如说是名称吧,把这个内容显示到TEXT控件中去。
看到好多网站上都有这个功能,听朋友说是用的一个插件请问高手,这个是用什么插件,还是手动的自己可以完成,能讲一下怎么实现这个功能吗?谢谢

解决方案 »

  1.   

    不要插件,直接一个ajax和一些js代码就能搞定。
      

  2.   

    给你个例子吧,<a onclick="choiceWinOpen('corpJpPhonesLoadSearch.action','450','600')"><IMG src="images/icon/qyfr.png" border="0" style="cursor:hand" align="absmiddle"></a>
    <textarea name="mobile" cols="70" rows="8" id="mobiles"></textarea>choiceWinOpen是一个js函数    function choiceWinOpen(theURL,width,height)
        {
            if (window.showModalDialog)
            { 
                window.showModalDialog(theURL, window, 'scrollbars=yes; help=no; status=no; dialogWidth='+ width +'px; dialogHeight=' + height +'px');
                window.dialogArguments;
            }
            else
            {
                newwin = window.open(theURL, '', 'status=yes, scrollbars=yes, resizable=yes, width='+ width +'px, height='+ height +'px')
                if (document.all)
                {
                    if (screen.width < width)
                    {
                        newwin.moveTo(0, 0)
                    }
                    else
                    {
                        newwin.moveTo((screen.width - width)/2, (screen.height - height)/2)
                    }
                }
            } 
        }corpJpPhonesLoadSearch.action跳转的页面有个连接<a onclick="addSelectedToWhere('phone','mobiles');window.close()" style="sursor:hand"><INPUT class=btn_login tabIndex=3 type=button value="确 定"></a>addSelectedToWhere也是个js函数function addSelectedToWhere(name,nodeId)
    {
        //var nodeId = "stockholderAddStore_gongsi"
        //var nodeIdTwo = "stockholderAddStore_organizationCode"    var boxs;
        var content = "";
        if (window.showModalDialog)
        {
            node = window.dialogArguments.document.getElementById(nodeId);
            boxs = document.getElementsByName(name);
        }
        else
        {
            node = window.opener.document.getElementById(nodeId);
        }    for(var i=0;i<boxs.length;i++)
        {   
            if(boxs[i].checked == true)
            {
                if(content == "")
                {
                    content = content + boxs.item(i).value;
                }
                else 
                {
                    content = content+ "," + boxs.item(i).value ;
                }
            }
        }   
        node.value=content;
    }就这样了,不知道你明不明白!!
      

  3.   

    能说一下原理吗,我觉得貌似有点像局部刷新,当选一条记录后,自动把值赋到TEXT控件中,好像不是整个页面刷新。。