当前位置: 代码迷 >> Java Web开发 >> 明明有这个方法,为什么还报错呢,该如何解决
  详细解决方案

明明有这个方法,为什么还报错呢,该如何解决

热度:103   发布时间:2016-04-17 11:04:41.0
明明有这个方法,为什么还报错呢
JScript code
<script type="text/javascript">    var xmlHttpReq = false;    //创建XMLHttpRequest对象    function createXMLHttpRequest() {        if (window.XMLHttpRequest) {//非IE浏览器            XMLHttpReq = new XMLHttpRequest();        } else if (window.ActiveXobject) {//IE浏览器            try {                XMLHttpReq = new ActiveXobject("Maxml2.XMLHTTP");            } catch (e) {                try {                    XMLHttpReq = new ActiveXobject("Microsoft.XMLHTTP");                } catch (e) {                }            }        }    }    function sendRequest(url) {        createXMLHttpRequest();        XMLHttpReq.open("GET", "url", true);        XMLHttpReq.onreadyStatechange = processResponse;//指定响应函数        XMLHttpReq.send(null);    }    function processResponse() {        if (XMLHttpReq.readyState == 4) {            if (XMLHttpReq.status == 200) {                var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;                alert(res);            } else {                alert("您所请求的页面有异常");            }        }    }    function userCheck() {        var username = document.myform.username.value;        var password = document.myform.password.value;        if (username == "") {            alert("用户名不能为空!");            document.myform.username.focus();            return false;        }        else {            sendRequest('login?username=' + username + '&password=' + password);        }    }</script><body vlink="#006666" link="#003366" bgcolor="#e0f0f8">    <center>        <h1>AJAX用户登录</h1>        <hr>        <form action="LoginServlet" method="post" name="myform">            用户名:<input type="text" name="username">            <p>                密码:<input type="password" name="password">            <p>            <hr>            <input type="submit" value="提交" onclick="return userCheck();">[color=#FF0000]<!--明明有这个方法,为什么报错呢?Multiple annotations found at this line:    - Cannot return from outside a function or method.-->[/color]             <input    type="reset" value="重置">        </form>    </center></body>


程序倒是可以运行,我就是想问问到底是怎么一会儿?

------解决方案--------------------
没有问题的,是Eclipse报的错吗,Eclipse的js编辑器不是很好,提示不多,有时也会乱报错
------解决方案--------------------
应该是 <form action="LoginServlet" method="post" name="myform" onsubmit="return userCheck();">

submit类型按钮本身就代表了提交。。为什么还要加一个onclick事件去提交?


------解决方案--------------------
onlick这事一个事件,这个事件触发一个函数。所以js的编译器会把return userCheck();看正一个整体,你的代码中是有userCheck这个函数 但是没有return userCheck这个函数,所以报错了。
------解决方案--------------------
XMLHttpReq.open("GET", url, true);
表示此url不要加引号
  相关解决方案