[問題] 一個js的寫法 firefox ok IE8上卻會出錯

看板Ajax作者 (ㄚ嚕)時間13年前 (2012/09/05 09:45), 編輯推噓1(105)
留言6則, 5人參與, 最新討論串1/2 (看更多)
首先要先說明一下我對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'); 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: 60.248.241.217

09/05 09:51, , 1F
應該是.mask沒有定義..這個jQuery lib有載入嗎?
09/05 09:51, 1F

09/05 10:06, , 2F
這個應該不是mask那邊的問題 那個應該是給input欄位
09/05 10:06, 2F

09/05 10:07, , 3F
限制幾個可輸入數字用的
09/05 10:07, 3F
重新補充一下 有問題的地方在於 使用Firefox瀏覽器時 可以正確的 在選到信用卡這個選項時 那兩個相關的input text欄位才會顯示出來 (信用卡卡號與日期) 若選擇其他的選項 那兩個input text欄位則會隱藏 使用IE8瀏覽器時 一開始就會顯示出那兩個 input 欄位 然後不管選其他的選項 這兩個都不會隱藏 ※ 編輯: cluclu 來自: 60.248.241.217 (09/05 10:10)

09/05 12:16, , 4F
IE->F12->指令碼->F5
09/05 12:16, 4F

09/05 16:39, , 5F
html 有加<!doctype html>嗎
09/05 16:39, 5F

09/10 06:59, , 6F
credit沒有宣告
09/10 06:59, 6F
文章代碼(AID): #1GHgweMx (Ajax)
文章代碼(AID): #1GHgweMx (Ajax)