请问下我写的一段JS,为什么有时候能执行,有时候不行?
js分为两部分
function modify() {
var pId = "";
alert("1");
for(var i = 0; i < rows.length; i++) {
pId += rows[i].pSeq + ",";//这个值没问题
}
if(pId == "") {
jQuery.dialog.alert("请选择node!");
return;
}
alert("2");
jQuery.dialog.confirm("确定修改吗?", function(){
alert("3");
jQuery.ajax({
type: "POST",
url: "modify.do",
async : false,
data:"pId=" + pId.substring(0, pId.length-1),
success: function(msg){
var msg = eval('(' + msg + ')');
if(msg.isError == "1"){
jQuery.dialog.alert("修改失败!");
return;
}else{
//alert("修改成功!");
}
}
});
});
}
代码如上,
请问下,这段代码,是我执行右键单击修改之后就执行倒这里了,
为什么我执行的时候,alert(1),alert(2)每次都能弹出来,
为什么那个确认框和alert(3)却有时候能弹出来,有时候不能弹出来,请问是为什么呢?有时候点一下就出来了,有时候要点几下,有时候要刷新之后再打开,他又弹出来了,总之感觉点击三次有时候能弹出2次,有时候只能弹出一次,哎。。
谢谢。
下面的功能代码,如果执行倒了的话是可以实现修改的,
哎,纠结我一下午了,还是没搞定,
求大神赐教。
------解决方案--------------------
用firebug看看是否报错,你确定那样写没问题?
------解决方案--------------------
为什么我执行的时候,alert(1),alert(2)每次都能弹出来
是你 ?rows.length !=0
jQuery.dialog.confirm("确定修改吗?", function(){
这是个你确定是这么调用? 你用什么UI包 dialog
------解决方案--------------------
那只能你自己 耐心点去一步步跟踪,看一什么原因
------解决方案--------------------
为什么我执行的时候,alert(1),alert(2)每次都能弹出来
是你 ?rows.length !=0
jQuery.dialog.confirm("确定修改吗?", function(){
这是个你确定是这么调用? 你用什么UI包 dialog
不是 这个代码是这个结构
我确定代码是没什么问题的
用的jquery.dialog.js
因为公司源码保密,我做了修改。
那只能你自己 耐心点去一步步跟踪,看一什么原因
大哥,
<script type="text/javascript" src="resource/comm/js/jquery.dialog.min.js"></script> <!--有时出来,有时不出来 -->
<!--<script type="text/javascript" src="$!ctx/resource/comm/js/jquery.dialog.min.js?self=true"></script>--> <!-- 引入此处JS每次都可以弹出来-->
今天发现其实是js的问题,
那个后面加一个 self=true的就可以了,正常执行,
只是 项目中是通过引入一个velocity页面,那个velocity页面 就写的是
<script type="text/javascript" src="$!ctx/resource/comm/js/jquery.dialog.min.js?self=true"></script>
这个,
但是,我们项目组的人说引入这个velocity页面后会和上面的
<script type="text/javascript" src="resource/comm/js/jquery.dialog.min.js"></script> 冲突
这是咋回事,项目组的人也搞不懂为什么会是上面的那样。这个 jquery self=true 是嘛意思呢,做啥用途的呢?
你不是说这包是你们自己封装了?
到 jquery.dialog.min.js 里搜一下self ,看一下他有做什么处理