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
- .html()用为读取和修改元素的HTML标签
- .text()用来读取或修改元素的纯文本内容
- .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();}
- Js细节备忘
- 细节备忘
- struts2细节备忘
- 细节备忘——
- PADS细节备忘
- js 备忘
- js备忘
- TCP/UDP使用细节备忘
- Mac nvm安装细节备忘
- JAVA的一些细节备忘
- JS细节
- JS细节
- js细节
- js细节
- owc11编程的小细节备忘
- java细节备忘,注意的地方...
- java命令行编译与执行细节备忘
- java命令行编译执行细节备忘
- hdu 3465 Life is a Line(树状数组求逆序对)
- VS2012编译安装VTK-6.2.0_支持Qt5.2.1
- lowlevel_init.S学习理解
- SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)
- java生成xml文件中文乱码问题解决
- Js细节备忘
- 莫比乌斯反演学习笔记
- 建造者模式(生成器模式)
- Lua的内存监测和回收
- java小题
- Android Permission
- Hibernate多对一关联映射
- 谷歌C++风格拾遗
- UIImageView的使用