我在JSP页面要用一个AJAX写了三个JS,相互调用.但是老是提示语法错误!!
三个JS代码如下:
function userCheck() {
  var rtn = new Array();
   var obj = document.getElementsByTagName("input");
   if (obj) {
    for (var i = 0; i < obj.length; i++) {
      if (obj[i].type == "checkbox")
        if (obj[i].checked) rtn[rtn.length] = obj[i].value;
    }
  }
  return rtn;
  }
  function send(str){
       var arr = new Array();
       arr = userCheck();
       alert(arr);
if(arr.length == 0) {
window.alert("请选择你要操作的记录!");
return false;
}
else {
send_request('ajax.jsp?id='+arr='&sta='+state);
}
}function setSta(strt){
window.alert(strt);
send(strt);
}运行时老是提示if(arr.length == 0) {
window.alert("请选择你要操作的记录!");
return false;
}
这里有语法错误!!为什么.但是把IF和ELSE都到掉时,值可以正常弹出来,加上时就会提示语法错误!!

解决方案 »

  1.   

    这里有语法错误!!为什么.但是把IF和ELSE都到掉时,值可以正常弹出来,加上时就会提示语法错误!!
    问题出在 if(arr.length == 0) 那么唯一的可能就是 arr = undifined,不相信你alert(arr),看看是不是 = undifined
      

  2.   

    我怎看也不像AJAX的...是JS吧....
      

  3.   

    if(arr.length == 0) {
    window.alert("请选择你要操作的记录!");
    return false;
    }
    else {
    send_request('ajax.jsp?id='+arr='&sta='+state);
    }
    我改成这样可以弹出它的值,加上IF和ELSE就说语法错误,什么也不弹!!
    我在页面上是这样用的...
    <A Href="#" onClick="setSta('N');" class="Link2">激活</A>
      

  4.   

    var length=document.thisForm.choose.length;if (length!=undefined) //有数组时
    {
    ...................
    }这样吧.......
      

  5.   

    我所所有代码都贴出来吧!!,在页面上<A Href="#" onClick="setSta('N');" class="Link2">激活</A>这样用.以下是相关的JS和AJAX<script language="JavaScript">
    /*
     * 删除
     */
    function selectItem() {
      var obj = document.getElementsByTagName("input");
      if (obj) {
        for (var i = 0; i < obj.length; i++) {
          if (obj[i].type == "checkbox")
            obj[i].checked = !obj[i].checked;
        }
      }
    }function getCheckValue() {
      var rtn = new Array();
      var obj = document.getElementsByTagName("input");
      if (obj) {
        for (var i = 0; i < obj.length; i++) {
          if (obj[i].type == "checkbox")
            if (obj[i].checked) rtn[rtn.length] = obj[i].value;
        }
      }
      return rtn;
    }function formEdit() {
      document.all.delValue.value = getCheckValue();
      
      if (document.all.delValue.value.length == 0 ) {
        alert("请选择您要删除的记录!");
        return false;
      }
      alert(document.all.delValue.value);
      if (window.confirm("你确定要删除选中的记录吗?")) 
        document.forms[0].submit();
    }
    var http_request = false;
    function send_request(url) {//初始化、指定处理函数、发送请求的函数
    http_request = false;
    //开始初始化XMLHttpRequest对象
    if(window.XMLHttpRequest) { //Mozilla 浏览器
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {//设置MiME类别
    http_request.overrideMimeType('text/xml');
    }
    }
    else if (window.ActiveXObject) { // IE浏览器
    try {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    try {
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
    }
    }
    if (!http_request) { // 异常,创建对象实例失败
    window.alert("不能创建XMLHttpRequest对象实例.");
    return false;
    }
    http_request.onreadystatechange = processRequest;
    // 确定发送请求的方式和URL以及是否同步执行下段代码
    http_request.open("GET", url, true);
    http_request.send(null);
    }
    // 处理返回信息的函数
        function processRequest() {
            if (http_request.readyState == 4) { // 判断对象状态
                if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
                    document.getElementById(currentPos).innerHTML = http_request.responseText;
                    alert(document.getElementById(currentPos).innerHTML);
                } else { //页面不正常
                    alert("您所请求的页面有异常。");
                }
            }
        }
    function userCheck() {
      var rtn = new Array();
       var obj = document.getElementsByTagName("input");
       if (obj) {
        for (var i = 0; i < obj.length; i++) {
          if (obj[i].type == "checkbox")
            if (obj[i].checked) rtn[rtn.length] = obj[i].value;
        }
      }
      return rtn;
      }
      function send(str){
           var arr = new Array();
           arr = userCheck();
           alert(arr);

    }function setSta(strt){
    window.alert(strt);
    send(strt);
    }</script>
    高手看看
      

  6.   

    var length=document.thisForm.choose.length;alert(length);//看看是什么if (length!=undefined) //有数组时
    {
    ...................
    }