jsp脚本( 客户端)
function onDelete(){
if (!confirm('确信删除吗?')){
return false;
}
  form.action="action='a.do?id=1;
---------如果这里调用的java不成功 ,我需要给客户端打印 alert("失败 ")
--------  这里代码改如何写 ??? 
alert(“成功”)
} 现在的疑问是
form.action="action='a.do?id=1;  如果失败程序该如何写来判断
因为实际上由于网络或者其他原因导致并不次每次都会成功的 
该如何写

解决方案 »

  1.   

       没有办法进行判断的,document.forms[0].submit()没有返回值而且是异步的,你发现alert("成功");很有可能会先打印出来。
       但是浏览器本身会对返回的状态码进行判断,是否成功,比如连不上服务器还是连接的网页不存在等。
      

  2.   

    需要用AJAX做提交,之后AJAX会给你返回一个状态码,你在回调函数里判断状态码。就可以alert了
      

  3.   

    var xmlHttp;
    function createXMLHttpRequest() {
        if (window.ActiveXObject) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } else {
            if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
        }
    } function choose(choo) {
        createXMLHttpRequest();    
        var url = "queryDrug.htm?";//请求的地址    url = encodeURI(url);//如果地址里存在中文需要用到这个转码中文    xmlHttp.open("GET", url, true);
        xmlHttp.onreadystatechange = function() {
        
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {
                 //如果是200的话代表正确。如果不是200的话就是错误的。
                }
            }
            
        };    xmlHttp.send(null);
    }
      

  4.   

    用struts标签定义个hidden(hiddenTxt),这个hidden来存放action中设的值(ExampleForm.setHiddenTxt("success"),这句话是在执行完数据库sql语句后写的,在抛得异常里写ExampleForm.setHiddenTxt("error")); js里:function doDelete() { 
          if (!confirm("确信删除吗?")) { 
              return false; 
          } 
          form.action = "action=a.do?id=1"; 
          var txt = document.getElementById("hiddenTxt").value; 
          if (txt == "success") { 
            alert("成功!"); 
          } else { 
            alert("失败!"); 
          } 
        }---------我当期工程是struts  不能用AJAX现在想求给点struts标签定义个hidden(hiddenTxt)的  代码 
      

  5.   

    用ajax来做.
    或者后台操作完后,构造一个script的字符串,返回给画面.或返回给画面一个值,画面在onload里处理是成功还是失败,然后alert