baidu_15238971
2015-04-18 12:51
采纳率: 50%
浏览 3.9k

js:Uncaught referenceError:alertWin is not defined

没有请求ajax的时候是正常的。

 <script type="text/javascript" src="jquery-1.10.2.js">
function alertWin(Cno)
{ 
     var msgw,msgh,titleheight,bordercolor,titlecolor;
     msgw = 300;//提示窗口的宽度
     msgh = 300;//提示窗口的高度
     titleheight = 25 //提示窗口标题高度
     bordercolor = "#A480B2";//提示窗口的边框颜色
     titlecolor = "#A480B2";//提示窗口的标题颜色

     //根据自己需求注意宽度和高度的调整
     var iWidth = document.documentElement. clientWidth; 
     var iHeight = document.documentElement.clientHeight; 
     //遮罩层
     var bgObj = document.createElement("div"); 
     bgObj.setAttribute("id", "bgObj");//设置ID
     bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:"+iWidth+"px;height:"+Math.max(document.body.clientHeight, iHeight)+"px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
     document.body.appendChild(bgObj);

     //弹出窗口
     var msgObj=document.createElement("div");
     msgObj.setAttribute("id", "msgDiv");//可以用bgObj.id="msgDiv"的方法,是为div指定属性值
     msgObj.setAttribute("align", "center");//为div的align赋值
     msgObj.style.background = "white";//背景颜色为白色
     msgObj.style.border = "1px solid " + bordercolor;//边框属性,颜色在上面已经赋值
     msgObj.style.position = "absolute";//绝对定位
     msgObj.style.left = (iWidth-msgw)/2  ;//从左侧开始位置
     msgObj.style.top = (iHeight-msgh)/2;//从上部开始位置
     msgObj.style.font = "12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";//字体属性
     msgObj.style.width = msgw + "px";//提示框的宽(上面定义过)
     msgObj.style.height = msgh + "px";//提示框的高(上面定义过)
     msgObj.style.textAlign = "center";//文本位置属性,居中。
     msgObj.style.lineHeight = "25px";//行间距
     msgObj.style.zIndex = "102";//层的z轴位置
     document.body.appendChild(msgObj);

     //弹出窗口标题
     var title = document.createElement("div");//创建一个标题对象
     title.setAttribute("id", "msgTitle");//为标题对象填加id
     title.style.margin = "0";//浮动
     title.style.padding = "3px";//浮动
     title.style.background = titlecolor;//背景颜色
     title.style.filter = "progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
     title.style.opacity = "0.75";//透明
     //title.style.border="1px solid " + bordercolor;//边框
     title.style.height = "25px";//高度
     title.style.font = "12px Verdana, Geneva, Arial, Helvetica, sans-serif";//字体属性
     //title.style.color = "red";//文字颜色
     title.style.cursor = "move";//鼠标样式
     $.ajax({
      type:"post",
       url:"ShowDetail?Cno="+Cno,             
       dataType:"json",                 
       success:function(data){                 
       },error:function(){                       
       alert("请求出错");
       }});
     title.innerHTML="<table border='0' width='100%'><tr><td align='center'>收银小票单</td><td align=\"right\"><a href='#' onclick='closeDiv()'>关闭</a></td></tr><tr><td align='center'>时间:</td></tr><tr><td align='left'>三得利青柠水</td></tr></table>";
     msgObj.appendChild(title);//在提示框中增加标题 
}
//添加关闭功能
function closeDiv() 
{
    var msgTitelObject = document.getElementById("msgDiv");
    document.body.removeChild(msgTitelObject);
    var bgObj = document.getElementById("bgObj");
    document.body.removeChild(bgObj);
}
</script> 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 毕小宝 2015-04-18 13:46
    已采纳

    你的ajax请求代码后面还有其他的代码 title.innerHTML=,但是ajax请求默认是异步的。
    试试ajax请求天津async:false参数。

    打赏 评论
  • danielinbiti 2015-04-18 13:13

    粗看ajax写法上没什么问题,括号逗号都匹配。可以用浏览器调试看看函数内部报没报错
    另外,看调用方法的地方是不是有问题

    打赏 评论
  • 毕小宝 2015-04-18 13:48

    试试ajax请求添加参数async:false,或者把ajax请求后面的代码放在success回调函数中。

    打赏 评论
  • 倒入的js文件和内嵌js代码块不用共用一个script标签,要分开

     <script type="text/javascript" src="jquery-1.10.2.js"></script>
     <script>
     function alertWin(Cno)
    { 
         var msgw,msgh,titleheight,bordercolor,titlecolor;
         msgw = 300;//提示窗口的宽度
         msgh = 300;//提示窗口的高度
            ...........................
    
    打赏 评论

相关推荐 更多相似问题