首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

点击关切

2013-03-21 
点击关注 这是前台写的js脚本function guanzhu() {var hotelid %HotelID %var loginid %Logi

点击关注
 
这是前台写的js脚本
       function guanzhu() {
            var hotelid = "<%=HotelID %>";
            var loginid = "<%=Loginid %>";
            
            if (loginid == null || loginid == "") {
                alert("请先登录")
            }
            else {
                var aa = "<%= addatt2()%>";
                 }
            if (aa == 1) {
                document.getElementById("guanzhuid").innerHTML = "已关注"

            } else if (aa == 2) {
            alert("您已关注过此酒店");
           
            }
        }


这是调用后台的方法

        public static string addatt2()
        {
            string rt="";
            int userid = 0; 
            DataTable dt = userbll.GetList("LoginId='" + Loginid+"'").Tables[0];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                userid = Convert.ToInt32( dt.Rows[i]["user_Id"]);
            }
            DataTable selectAtt = attbll.GetList("AttentionHotelId='" + hotelID + "' and AttentionUserId='" + userid + "'").Tables[0];
            if (selectAtt.Rows.Count > 0)
            {
                rt = "2";
            }
            else
            {
                if (userid != 0)//我在这加了一个判断
                {
                    attmodel.AttentionHotelId = hotelID;


                    attmodel.AttentionUserId = userid;
                    attbll.Add(attmodel);
                    rt = "1";
                }
            }

            return rt;

        }

不知道为什么,这是一个a标签的onclick事件,可是没有点击a标签 onclick在页面加载的时候就执行。。加的判断是在没有登录的时候有效。登陆之后点进去一个页面,就自动关注了。。 脚本 关注
[解决办法]
没点a标签就执行方法的情况基本不会出现吧。。


       function guanzhu() {
            var hotelid = "<%=HotelID %>";
            var loginid = "<%=Loginid %>";
            
            if (loginid == null 
[解决办法]
 loginid == "") {
                alert("请先登录")
            }else {
                var aa = "<%= addatt2()%>";
                if (aa == 1) {
                    document.getElementById("guanzhuid").innerHTML = "已关注"
                } else if (aa == 2) {
                    alert("您已关注过此酒店");
                }
            }
            
        }

这样是不是更合理一点?

还有你后台的方法,在查询数据库之前就判断userid吧,为0就直接返回,不为0再去查询数据吧。

好像你这代码进页面就会直接调用后台的addatt2啊。。所以给你的感觉是直接关注了。。

你把JS跟后台数据混写,结果就是每次加载页面的时候都会先执行你后台的addatt2方法,然后才会生成那段JS,最后在你点击a标签的时候,才会执行这样的JS函数,然后是改变DOM。

我想要想实现你要的效果是要AJAX来实现的。

热点排行