可以通过JS代码来实现异步调用么?
可以,js有Xmlhttp对象,你搜索一下,网上关于这个对象的应用一堆一堆的不过取回的是网页的html代码,所以你要在这堆代码里找你想要的Input,这个就要通过正则来取比较方便了
不用正则会比较麻烦。

解决方案 »

  1.   

    JS可以实现异步调用,你说的这个功能很简单..
    1.读取预设值(可以保存在xml中),同步或者异步读取都可以,区别是一个将操作权归还客户端(异步),一个要执行完才能继续客户端操作(同步)
    2.依次读取你input的value值
    3.对比异步读取的方法是:发送一HTTP请求。或者xml解析,当服务器或者文档加载完以后,就可以得到一个response.对这个response进行操作就行了
      

  2.   

    给你和你要求差不多的例子<html> 
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8" />
            <title>test </title>
            <script>
                var defaultValue=[];
                function NewInfoAction(){             
                    var xmlDom;  //XML DOM object
                    var xmlFile="testvalue.xml"; //xml file name
                    var ieFlag="ie";  //default
                    var isChrome = navigator.userAgent.indexOf('Chrome') != -1;
                    if(isChrome||!window.event) ieFlag="other"
     
                    //----------------------------start: create XML Dom-----------------------------------------
                   
                    xmlDom=loadXML(xmlFile);
                    //----------------------------End: create XML Dom-----------------------------------------
                    //----------------------------start: read XML Dom-----------------------------------------                if(ieFlag=="ie"){ //MS IE
                        var newsList1=xmlDom.documentElement.getElementsByTagName("dvalue");
                        for(var i=0;i <newsList1.length;i++){
                            try{
                                defaultValue[i]=newsList1[i].text;
                            }
                            catch(e)
                            {
                                alert("error!");
                            }
                        }
                    }                if(ieFlag=="other"){//NOT MS IE
                        var newsList2=xmlDom.getElementsByTagName("dvalue");                    for(var j=0;j <newsList2.length;j++){
                            try{
                                defaultValue[j]=newsList2[j].textContent;
                            }catch(e2)
                            {
                                alert("error!");
                            }
                        }
                    }
                  
                }
                loadXML = function(fileRoute){
                    xmlDoc=null;
                    if (window.ActiveXObject){
                        xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
                        xmlDoc.async=true;//这里设置true就是异步
                        xmlDoc.load(fileRoute);
                    }
                    else if (document.implementation && document.implementation.createDocument){
                        var xmlhttp = new window.XMLHttpRequest();
                        xmlhttp.open("GET",fileRoute,false);//这里设置true就是异步.false是同步
                        xmlhttp.send(null);
                        var xmlDoc = xmlhttp.responseXML;
                    }
                    else {xmlDoc=null;}
                    return xmlDoc;
                }
                function checkvalue(){
                    var div=document.getElementById("inputtest");
                    var inputs=div.getElementsByTagName("input");
                    for(var i=0;i<inputs.length;i++){
                        if(defaultValue[i]!=inputs[i].value) alert("第"+(i+1)+"个值不等");
                    }
                }
            </script>
        </head>    <body onLoad="NewInfoAction();">
            <div id="inputtest">
                <input type="text">
                <input type="text">
                <input type="text">
                <input type="text">
                <input type="text">
            </div>
            <input type="button" value="测试" onclick="checkvalue()" />
        </body>
    </html>
    下面是testvalue.xml,和html放一个目录下
    <?xml version="1.0" encoding="utf-8" ?> 
    <defaultvalue>
        <dvalue>100</dvalue>
        <dvalue>200</dvalue>
        <dvalue>300</dvalue>
        <dvalue>400</dvalue>
        <dvalue>500</dvalue>
    </defaultvalue>
      

  3.   

    首先,感谢两位朋友的回复。
    对于Beenzfa发的代码
    有点类似,不过我很大一部分看不懂。
    我只想越简单越好,比如读取某个网页。
    www.hao123.com
    网页代码里面有一个<input name=sto type=radio value="5">。
    我想让JS自动读取后,判断这个INPUT的VALUE是否和我预设的5一致,如果不一致继续读取新的。
    如果一直执行下一步?
      

  4.   

    模式是这样子的。
    A网页,是HTML网页,在客户端执行。
    通过JS想达到。从A网页执行这个JS函数,自动读取WWW.HAO123.COM页面里面你的<input name=sto type=radio value="5">的VALUE值,并于我实现设置的VAR XX = AA是否一致。如果一直执行下一步。
    如果不一致继续读取,直到一致。
      

  5.   

    如果你想要用js访问得到hao123的话,我可以告诉你不行,至少纯粹的js方法不行,因为跨域了(你可以理解为不在一个服务器).
    所以无论是用frame还是httpRequest,都无法跨域得到hao123的document需要通过调用服务器,比如tomcat,glassfish等