作者grence (逍遥盃)
看板Ajax
标题Re: [问题] 一个js的写法 firefox ok IE8上却会出错
时间Wed Sep 5 23:05:46 2012
※ 引述《cluclu (ㄚ噜)》之铭言:
: 首先要先说明一下我对javascript与jQuery都是非常非常*n新手 只是copy公司前辈
: 的程式码来用与修改 所以先说明一下这些程式码的目的
: 目的 : 在html做出来的一个下拉式选单里 若是选中了其中一个选项 (信用卡)
: 此时画面中会跑出信用卡卡号、有效日期等等的 input 栏位
: 若是选了别的选项,这些栏位则不会显示出来,程式码如下
: html部分
: /////////////////////////////////////////////////////////////////////
: <span id='credit'>
: 信用卡号:
: <input type='text' name='credid' id='credid' value='<?=$credid?>' size='20' maxlength='19' /></br>
: 信用卡有效日期:
: <select id='expiry_year' name='expiry_year' onchange='update_expiry()'><?=select_expiry_year();?></select>年
: <select id='expiry_mon' name='expiry_mon' onchange='update_expiry()'>
: <?=select_expiry_mon()?></select>月
: </span>
: javascript部分
: /////////////////////////////////////////////////////////////////////
: <script type='text/javascript'>
: function show_credit(obj){
: credit = document.getElementById('credit');
使用 var宣告变数是好习惯。
用 window.credit在 IE可取得 id=credit的 dom element. (永远不要使用这种方式)
於是 credit = document.getElementById('credit')在 IE就爆炸了
: if(obj.value == '信用卡'){
: credit.style.display = 'inline';
: }
: else{
: credit.style.display = 'none';
: }
: }
: var tooltip = new Array();
: $(document).ready(show_credit(document.getElementById('billac_type')));
: jQuery(function($){
: $("#credid").mask("9999-9999-9999-9999",{completed:function(){alert("信用卡号格式不符: "+this.val());}});
: $("#credit_date").mask("99/99",{completed:function(){alert("信用卡有效日期不符: "+this.val());}}) ;
: });
: </script>
: /////////////////////////////////////////////////////////////////////
: IE8 左下角 错误三角型 出现的错误讯息是
: 网页错误详细资料
: 使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
: 时间戳记: Wed, 5 Sep 2012 01:24:13 UTC
: 讯息: 物件不支援此属性或方法
: 行: 361
: 字元: 4
: 程式码: 0
: URI: http://localhost/WEBERP/000werp/store/index.php?act=shopcar
: 然後361行 我看网页的原始码 就是
: credit = document.getElementById('credit');
: 这边开始
: 不知道该怎麽修正这个错误?
: 又或者是有另外可以达成同样目的的程式写法,有范例可以给我参考
: 谢谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.138.227