Js细节备忘

来源:互联网 发布:mac mini忘记开机密码 编辑:程序博客网 时间:2024/05/22 14:25

1. js中的prototype

参考文档:http://www.cnblogs.com/yjf512/archive/2011/06/03/2071914.html

  • prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“继承”的效果

(1) js中常见的三种方法

function People(name){  this.name=name;   //★对象方法  this.Introduce=function(){    alert("My name is "+this.name);  }}//★★类方法People.Run=function(){  alert("I can run");}//★★原型方法People.prototype.IntroduceChinese=function(){  alert("我的名字是"+this.name);}//测试var p1=new People("Windking");//创建对象p1.Introduce();//对象方法调用People.Run();//类方法调用p1.IntroduceChinese();//原型方法调用

(2) js中对象的prototype属性

  • javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用

function baseClass(){  this.showMsg = function(){     alert("baseClass::showMsg");     }}function extendClass(){}extendClass.prototype = new baseClass();//理解为:extendClass是以baseClass的一个实例为原型克隆创建的var instance = new extendClass();instance.showMsg(); // 显示baseClass::showMsg


A.prototype = new B(); 

不应把它和继承混淆。A的prototype为B的一个实例,可以理解A将B中的方法和属性全部克隆了一遍。A能使用B的方法和属性。这里强调的[是克隆而不是继承]


下面我们首先定义了baseClass类,然后我们要定义extentClass,以baseClass的一个实例为原型,来克隆的extendClass也同时包含showMsg这个对象方法

function baseClass(){  this.showMsg = function(){     alert("baseClass::showMsg");     }}function extendClass(){}extendClass.prototype = new baseClass();//理解为:extendClass是以baseClass的一个实例为原型克隆创建的var instance = new extendClass();instance.showMsg(); // 显示baseClass::showMsg

  • 问题1:如果extendClass中本身包含有一个与baseClass的方法同名的方法会怎么样?

function baseClass(){    this.showMsg = function(){        alert("baseClass::showMsg");       }}function extendClass(){    this.showMsg =function (){        alert("extendClass::showMsg");    }}extendClass.prototype = new baseClass();var instance = new extendClass();instance.showMsg();//显示extendClass::showMsg

结论函数运行时会先去本体的函数中去找,如果找到则运行,找不到则去prototype中寻找函数

  • 问题2:使用extendClass的一个实例instance调用baseClass的对象方法showMsg怎么办?
extendClass.prototype = new baseClass();var instance = new extendClass();var baseinstance = new baseClass();//★★通过使用call函数,参数是实例instance,调用者是基类对象方法baseinstance.showMsg.call(instance);//显示baseClass::showMsg
  • 综合练习:
function baseClass(){//基类this.showMsg = function(){//基类方法alert("baseClass::showMsg");   }this.baseShowMsg = function(){//基类方法alert("baseClass::baseShowMsg");}}baseClass.showMsg = function(){alert("baseClass::showMsg static");}function extendClass(){this.showMsg =function (){alert("extendClass::showMsg");}}extendClass.showMsg = function(){alert("extendClass::showMsg static")}extendClass.prototype = new baseClass();var instance = new extendClass();instance.showMsg(); //显示extendClass::showMsginstance.baseShowMsg(); //显示baseClass::baseShowMsginstance.showMsg(); //显示extendClass::showMsg,对应问题1baseClass.showMsg.call(instance);//显示baseClass::showMsg static,对应问题1、2var baseinstance = new baseClass();baseinstance.showMsg.call(instance);//显示baseClass::showMsg

jquery的html,text,val

  • 参考文档:http://www.cnblogs.com/aqbyygyyga/archive/2011/11/03/2234926.html
  1. .html()用为读取和修改元素的HTML标签
  2. .text()用来读取或修改元素的纯文本内容
  3. .val()用来读取或修改表单元素的value值

html属性中有两个方法,一个有参,一个无参 

  •  无参html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个String

    例子: 

html页面代码:<div><p>Hello</p></div>

jquery代码:$("div").html();

结果:Hello

  •      有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个jquery对象

例子:

html页面代码:<div></div> 

jquery代码:$("div").html("<p>Nice to meet you</p>");

结果:[ <div><p> Nice to meet you</p></div> ]      

 
 text属性中有两个方法,一个有参,一个无参

  • 无参text():取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String

例子: 

html页面代码:<p><b>Hello</b> fine</p>
<p>Thank you!</p>
jquery代码:$("p").text();

结果:HellofineThankyou!

  •  有参text(val):设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).返回一个jquery对象

例子:

html页面代码:<p>Test Paragraph.</p> 

jquery代码:$("p").text("<b>Some</b> new text.");

结果:[ <p><b>Some</b> new text.</p> ]

 
val()属性中也有两个方法,一个有参,一个无参。

  • 无参val():获得第一个匹配元素的当前值。在 jQuery 1.2 中,可以返回任意元素的值了。包括select。如果多选,将返回一个数组,其包含所选的值。

例子:多选下拉框,$('#multiple').val()返回数组。$("#multiple").val().join(", "))以,连接数组中每个值
html页面代码:

<p></p><br/><select id="single"> <option>Single</option> <option>Single2</option></select><select id="multiple" multiple="multiple"> <option selected="selected">Multiple</option> <option>Multiple2</option> <option selected="selected">Multiple3</option></select> jquery代码:("p").append( "<b>Single:</b> "   + $("#single").val() + " <b>Multiple:</b> " + $("#multiple").val().join(", "));

结果:[ <p><b>Single:</b>Single<b>Multiple:</b>Multiple, Multiple3</p>]   

  • 有参val(val):设置每一个匹配元素的值。在 jQuery 1.2, 这也可以为check,select,radio元件赋值,返回一个jquery对象 

例子

html页面代码:

<input type="text"/>

jquery代码:$("input").val("hello world!");

 结果:hello world!

  • 1. 问题:用$("#id")来获得页面的input元素的时候,发现$("#id").value不能取到值
总/错误分析:
$("")是一个jquery对象,而不是一个dom element 
value是dom element的属性,jquery与之对应的是val 
val():获得第一个匹配元素的当前值。 
val(val):设置每一个匹配元素的值。
示例:
取值:val = $("#id")[0].value; 
赋值:$("#id")[0].value = "new value"; 
或者1:$("#id").val("new value"); 
或者2:val = $("#id").attr("value"); 

  • 2. JS中的return false、return true
参考文档:return falsehttp://blog.sina.com.cn/s/blog_648f22760100zrv3.html
Return False 就相当于终止符, 一般是用来取消默认动作的。比如你单击一个链接除了触发你的onclick事件(如果你指定的话)
以外还要触发一个默认事件用于执行页面的跳转。所以如果你想取消对象的默认动作就可以return false。return false 只在当前函数有效,不会影响其他外部函数的执行。
Return True 就相当于执行符
return  把控制权返回给页面。


  • 3. 常用正则表达式
var regex = /^[0-9]{11}$/g;// 仅支持数字格式且长度为11-->手机号码
var regexce= /[,。、;:‘”、|!.,()^()¥`~!@#$%^&*_+<>{}\/'[\]0-9(^\s*)|(\s*$)]/im;//中文英文
var regexName = /[,。、;:‘”、|!.,()^()¥`~!@#$%^&*_+<>{}\/'[\](^\s*)|(\s*$)]/im;//中文英文数字


  • 4. css() 方法返回或设置匹配的元素的一个或多个样式属性
当用于返回一个值时,不支持简写的 CSS 属性(比如 "background" 和 "border")。
示例:
$("#showReallyPre").css({
display:'block'
});
$("p").css("color","red");

  • 5. jQuery 中的 blur() 方法当元素失去焦点时发生 blur 事件:http://www.w3school.com.cn/jquery/event_blur.asp

blur() 函数触发 blur 事件,或者如果设置了 function 参数,该函数也可规定当发生 blur 事件时执行的代码

  • 6. CSS3 opacity 属性:

设置 div 元素的不透明级别:http://www.w3school.com.cn/cssref/pr_opacity.asp

IE8 以及更早的版本支持替代的 filter 属性。例如:filter:Alpha(opacity=50)。
语法:opacity:value|inherit;
value 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。 

inherit 应该从父元素继承 opacity 属性的值。 

7. 在html中鼠标经过时样式改变:http://dwcmayday201204063551.iteye.com/blog/1568122
变换鼠标形状: 
onmousemove="this.style.cursor='hand';" onmouseout="this.style.cursor='auto';" 
变换背景图片: 
onmousemove="this.style.backgroundImage='url(Images/HomeTBGCChange.jpg)'" onmouseout="this.style.backgroundImage='url(Images/HomeTBGC.jpg)'" 
鼠标略过时的颜色 
onMouseOver="this.style.color='#8E6235
鼠标离开时的颜色 
onMouseOut="this.style.color='#808284'"
变换文字颜色: 
<a href="www.baidu.com" target="..."  onMouseOver="this.style.color='#8E6235';this.style.textDecoration='underline'" onMouseOut="this.style.color='#808284';this.style.textDecoration='none'">文本</a>


示例:

<!-- 说明:其它相关示例:http://www.w3school.com.cn/tiy/t.asp?f=css3_opacity_jsonMouseOver="JavaScript:this.style.backgroundColor='#FF0000';" 这一句是鼠标通过时行背景要显示的#FF0000颜色onMouseOut="JavaScript:this.style.backgroundColor='';" 这一句是鼠标离开时行背景要显示的颜色,这里颜色代码留空,表示恢复行原来的背景颜色。 --><html><head><title>使用脚本(JavaScript)实现鼠标通过(onMouseOver)/离开(onMouseOut)文本、图片、表格时的特殊效果__浪人文章</title><meta http-equiv="Content-Type" content="text/html;charset=gb2312"></head><body>1.文本测试:<br><font face="宋体" size="3" color="#008000" onMouseOver="JavaScript:this.style.color='#FF0000';" onMouseOut="JavaScript:this.style.color='';">文本测试:鼠标通过时,文本改变颜色,离开后恢复原来的颜色</font><br><font face="宋体" size="3" color="#008000" onMouseOver="JavaScript:this.style.color='#FF0000';this.style.textDecoration='underline';" onMouseOut="JavaScript:this.style.color='#0000FF';this.style.textDecoration='none';">文本测试:鼠标通过时,文本改变颜色并显示下划线,第一次离开后又改变成另外一种颜色</font><br><font face="宋体" size="3" color="#008000" onMouseOver="JavaScript:this.style.backgroundColor='#FF0000';" onMouseOut="JavaScript:this.style.backgroundColor='';">文本测试:鼠标通过时,文本背景改变颜色,离开后恢复原来的颜色</font><br><font face="宋体" size="3" color="#008000" onMouseOver="JavaScript:this.style.backgroundColor='#FF0000';this.style.textDecoration='underline';" onMouseOut="JavaScript:this.style.backgroundColor='#0000FF';this.style.textDecoration='none';">文本测试:鼠标通过时,文本背景改变颜色并显示下划线,第一次离开后又改变成另外一种颜色</font><br><hr/>2.图片测试 <br>图片载入时比较模糊,当鼠标通过时变得清晰,离开后又恢复原来的样子(opacity 后面的数字是调节清晰度的,要多少清晰度自己修改):这里应用了 filter属性,只有IE8及以下浏览器支持<br><img src="./image/buzhou.png" border="0" style="filter:alpha(opacity=10);" onMouseOver="JavaScript:this.filters.alpha.opacity='20';" onMouseOut="JavaScript:this.filters.alpha.opacity='60';"> <br><hr/>3.表格测试<br><table border="1" width="500" height="10"><tr bgcolor="#FFFFFF" onMouseOver="JavaScript:this.style.backgroundColor='#FF0000';" onMouseOut="JavaScript:this.style.backgroundColor='';"><td height="30" width="490">当鼠标通过这一行时,背景颜色改变,离开时又恢复原来的颜色</td></tr><tr><td height="30" width="490"></td></tr></table><br></body></html>

附录示例代码:

/** 理解:this.replace() * replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 *  *   前面的字符任意多个?   前面的字符0个或1个+   前面的字符1个或以上s*     s任意多个^s*    以s开头的s任意多个s*$    以s结尾的s任意多个/(^s*)|(s*$)/g    全局模式下,匹配任意多个s开头、或任意多个s结尾的字符return this.replace(/(^s*)|(s*$)/g, "");  删除字符串头尾的任意多个s,并返回处理后的字符串 *//**给String添加一个自定义的方法:用于去除输入框内容的左右空格*/String.prototype.trim = function() {return this.replace(/(^\s*)|(\s*$)/g, "");};String.prototype.ltrim = function() {return this.replace(/(^\s*)/g, "");};String.prototype.rtrim = function() {return this.replace(/(\s*$)/g, "");};/**检查电话格式是否合格*/function phoneCheck(id){var pp = document.getElementById(id).value;var mobilePhone=/^((\(\d{2,3}\))|(\d{3}\-))?1\d\d{9}$/;var phone=/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;if(!mobilePhone.test(pp) && !phone.test(pp)){alert("电话号码输入有误!\n如果您的号码带有区号,请在区号后加横杠");return false;}return true;}/**获得详细服务:点击按钮,提交action请求*///对应jsp代码:<img src="${s.imageUrl }" width="100%" onclick="goDetailService('${pageContext.request.contextPath }/homeAction.do?method=getService','${s.id}');"/>function goDetailService(url, id) {document.getElementById("id2").value=id;//赋值document.getElementById("form_service").action=url;//赋值document.getElementById("form_service").submit();//★HTML DOM submit()方法把表单数据提交到 Web 服务器}//对一个jsp代码:<input value="上  一  步" type="button" onclick="javascript:closeDiv('popPwDiv');showDiv('popUserDiv');" onmouseover="style.opacity='0.6'" onmouseout="style.opacity='1'"/>/**★★关闭指定div层*/function closeDiv(div) {//★★.style.display属性:设置或检索对象是否及如何显示//★none是隐藏对象,与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间 document.getElementById(div).style.display = 'none';//对应html代码:<div id="bg" class="bg" style="display:none;"></div>document.getElementById('bg').style.display = 'none';document.getElementById('popIframe').style.display = 'none';}/**★★弹出指定div层*/function showDiv(divId) {if(divId=="popUserDiv"){//添加500w时校验是否填写规模if(document.getElementById("show").innerHTML.indexOf("请填写以下规模")!=-1){alert("请填写规模");return -1;}}var showFlag=true;  $("#"+divId).css({  top:(($(window).height()-$("#"+divId).outerHeight())/2)  });if(showFlag==true){document.getElementById(divId).style.display = 'block';document.getElementById('bg').style.display = 'block';}}/**★异步校验用户填写信息*/function checkUserMSG() {var regex = /^[0-9]{11}$/g;// 仅支持数字格式且长度为11-->手机号码var regexce= /[,。、;:‘”、|!.,()^()¥`~!@#$%^&*_+<>{}\/'[\]0-9(^\s*)|(\s*$)]/im;//中文英文var regexName = /[,。、;:‘”、|!.,()^()¥`~!@#$%^&*_+<>{}\/'[\](^\s*)|(\s*$)]/im;//中文英文数字if(document.getElementById('contactName').value==""){alert("请认证填写您的姓名");return false;}if(regexce.test(document.getElementById('contactName').value)){alert("请检查您的姓氏是否有非法字符,仅支持中英文");return false;}if(phoneCheck('contactTelephone')==false){return false;}if(document.getElementById('enterpriseName').value==""){alert("请填写您的企业名称");return false;}if(regexName.test(document.getElementById('enterpriseName').value)){alert("检查企业名称是否有非法字符");return false;}return true;}/** * 500W以上时的原价、折扣价 【需要计算公式 测试→原 价:营 业 额*0.5*1000+资产总额*0.5*1000】100万-500万A*0.001+2000 * 添加服务id方便显示定金 */function getMoney(id) {var regex1 = /^[0-9]*$|[0-9]{1,5}\.[0-9]{1,2}$/;var regex2 = /^[0-9]*$|[0-9]{1,5}\.[0-9]{1,2}$/;if(document.getElementById('yye').value!=""&&document.getElementById('zcze').value!=""){if(id == 3 && (document.getElementById('yye').value >= 500 || document.getElementById('yye').value <= 300)){alert("请注意:营业额至少300万起,500万上限。");document.getElementById('yye').value="";document.getElementById('zcze').value=""; ///// 【添加】document.getElementById('original').innerHTML="¥";document.getElementById('show').innerHTML="¥请填写以下规模";document.getElementById('zhoushi').style.display='none';document.getElementById('guanggao').style.display='block';return -1;}if(id == 2 && (document.getElementById('yye').value <= 100 || document.getElementById('yye').value >= 300)){alert("请注意:营业额至少100万起,300万上限。");document.getElementById('yye').value="";document.getElementById('zcze').value=""; ///// 【添加】document.getElementById('original').innerHTML="¥";document.getElementById('show').innerHTML="¥请填写以下规模";document.getElementById('zhoushi').style.display='none';document.getElementById('guanggao').style.display='block';return -1;}///填写格式不正确时处理if(!regex1.test(document.getElementById('yye').value) || !regex2.test(document.getElementById('zcze').value)){alert("规模填写格式不正确\n不允许非法字符且最多精确到两位小数");document.getElementById('yye').value=""document.getElementById('zcze').value=""document.getElementById('original').innerHTML="¥";document.getElementById('show').innerHTML="¥请填写以下规模";document.getElementById('zhoushi').style.display='none'; //此元素不会被显示document.getElementById('guanggao').style.display='block'; //此元素将显示为块级元素,此元素前后会带有换行符。//扩展:display="null"是隐藏 而display="" 是重新显示return -1;}/////【添加】document.getElementById('original').innerHTML="¥"+(Math.floor(document.getElementById('yye').value*10000*0.001+2000));document.getElementById('show').innerHTML="¥"+Math.floor((document.getElementById('yye').value*10000*0.001+2000)*0.7*document.getElementById('zkl').innerHTML*0.1);$('#imgrefresh').click();if(id==2){//document.getElementById('original').innerHTML="¥2100~¥3500";document.getElementById('showReally').innerHTML="¥500";}else if(id==3){//document.getElementById('original').innerHTML="¥3500~¥4900";document.getElementById('showReally').innerHTML="¥800";}$("#showReallyPre").css({display:'block'});$("#showReally").css({display:'block'});}if(document.getElementById('yye').value==""||document.getElementById('zcze').value==""){document.getElementById('original').innerHTML="¥";document.getElementById('show').innerHTML="¥请填写以下规模";document.getElementById('zhoushi').style.display='none';document.getElementById('guanggao').style.display='block';}}/**设置企业名称、证书信息*/function getCerSn(id) {try{fsCA.AtvInit();}catch(e){alert("请确认是否已经安装证联客户端");return -1;}var sigCert =  fsCA.GetCert(2);var certInfo = fsCA.GetCertInfo(sigCert);    var indx1 = certInfo.indexOf("<serialnum>");    var indx2 = certInfo.indexOf("</serialnum>");    var certSn=certInfo.substring(indx1 + 11, indx2)    if(certSn==""){    alert("请检查数字证书是否插入");    return -1;    }    var subject=certInfo.substring(certInfo.indexOf("<subject>")+9,certInfo.indexOf("</subject>"));var indx1 = subject.indexOf("<dn_o>");var indx2 = subject.indexOf("</dn_o>");var Certsn = subject.substring(indx1 +6, indx2);    document.getElementById(id).value=Certsn;    document.getElementById("certInfo").value=certInfo;}/** 获得服务签名协议书*/function signContractData() {try{fsCA.AtvInit();}catch(e){alert("请确认是否已经安装证联客户端");return -1;}var sigCert =  fsCA.GetCert(2);var certInfo = fsCA.GetCertInfo(sigCert);    var indx1 = certInfo.indexOf("<serialnum>");    var indx2 = certInfo.indexOf("</serialnum>");    var certSn=certInfo.substring(indx1 + 11, indx2)    if(certSn==""){    alert("请检查数字证书是否插入");    return -1;    }    var r=document.getElementById("contract").innerHTML;    var signData = fsCA.SignData(r,32772,0);    fsCA.Logout();    //加上"+"号变空格的解决办法     20150325    document.getElementById("signData").value=signData.replace(/\+/g, '%2B');    return ;}/**我的订单的展示 请插入key*/function showMyOrders(url) {try{fsCA.AtvInit();}catch(e){alert("请确认是否已经安装证联客户端");return -1;}var sigCert =  fsCA.GetCert(2);var certInfo = fsCA.GetCertInfo(sigCert);    var indx1 = certInfo.indexOf("<serialnum>");    var indx2 = certInfo.indexOf("</serialnum>");    var certSn=certInfo.substring(indx1 + 11, indx2)    if(certSn==""){    alert("请检查数字证书是否插入");    return -1;    }else{     window.location.href=url+"&certSn="+certSn;    }}$(document).ready(function() {///document 属性、时间准备中/*$('img').css({cursor : 'pointer'});*///提交用户信息$('#toSign').click(function(){if(checkUserMSG()){closeDiv('popUserDiv');document.getElementById("enterprise1").innerHTML=document.getElementById("enterpriseName").value;/*document.getElementById("enterprise2").innerHTML=document.getElementById("enterpriseName").value;*/document.getElementById("hetongPrice").innerHTML=document.getElementById("show").innerHTML.replace("¥","");document.getElementById("hetongtitle").innerHTML=document.getElementById("name").value;showDiv('popPwDiv');}});//同意签署$('#toSubmit').click(function(){signContractData();var costPrice;costPrice=document.getElementById('show').innerHTML.replace("¥","");var contactNameTmp=document.getElementById("contactName").value+$("input[name='P']:checked").val(); DOC88Window.win({message:$('#loadDiv').html()}); $.ajax({type : "POST",dataType : "text",async:false,  //异步:url : "homeAction.do?method=goOrder",/////【添加营业额和资产总额】data:"id="+document.getElementById("id").value+"&contactName="+contactNameTmp+"&contactTelephone="+document.getElementById("contactTelephone").value+"&enterpriseName="+document.getElementById("enterpriseName").value+"&certInfo="+document.getElementById("certInfo").value+"&signData="+document.getElementById("signData").value+"&costPrice="+costPrice+"&turnover="+document.getElementById("yye").value+"&asserts="+document.getElementById("zcze").value,success : function(data) {if(data.split("&")[0]=="success"){closeDiv('popPwDiv');document.getElementById("Moneny").innerHTML=document.getElementById("showReally").innerHTML.replace("¥","");document.getElementById("orderId").innerHTML=data.split("&")[1];showDiv('popPayDiv');}else if(data=="false"){closeDiv('popPwDiv');alert("签署合同失败,请检查填写信息并确保您当前已插入key");}else{closeDiv('popPwDiv');alert(data);}},error : function(result) {closeDiv('popPwDiv');alert("提交失败,操作失败");}});DOC88Window.close();});});/**付款 弹出层新建窗口打开连接*/function payMoney(orderId,subject,moneny) {var url="alipayAction.do?method=handleRequest";if(document.getElementById("popPayDiv")!=null){closeDiv('popPayDiv');}showDiv('popAfterPayDiv');window.open(url+"&WIDout_trade_no="+orderId+"&WIDsubject="+subject+"&WIDtotal_fee="+moneny);}/**立即购买*/function reallyBuy() {if(document.getElementById("zcze").value==""||document.getElementById("yye").value==""){document.getElementById('serviceInfoTab').style.display='block';document.getElementById('moreInfoTab').style.display='none';document.getElementById('leftbar').style.display='none';}if(document.getElementById("buyNowMsg").innerHTML=="已购买"){return -1;}if(getCerSn('enterpriseName')!=-1){if(document.getElementById('gameOver').innerText=="活动已结束"){alert('很抱歉,当前活动已结束,不允许购买');return -1;}else{///////////////////////// 20150327  添加判断是否已经购买gotoCheckBuyOrNot();if(document.getElementById("buyNowMsg").innerHTML=="已购买"){return -1;}showDiv('popUserDiv');/////////////////////////}}}/**添加判断是否已经购买*/function gotoCheckBuyOrNot() {DOC88Window.win({message:$('#loadDiv').html()}); $.ajax({type : "POST",dataType : "text",async:false,  //异步:url : "homeAction.do?method=checkBuyOrNot",data:"id="+document.getElementById("id").value+"&certInfo="+document.getElementById("certInfo").value,success : function(data) {if(data=="success"){closeDiv('popPwDiv');//alert("可以购买该服务");}else{closeDiv('popPwDiv');alert("该服务您已购买过,请前往订单中心确认是否已经付款");document.getElementById("buyNowMsg").innerHTML="已购买";$('#buyNowMsgButton').css({backgroundColor:'gray'});}},error : function(result) {closeDiv('popPwDiv');alert("提交失败,操作失败");}});DOC88Window.close();}




0 0
原创粉丝点击