2015-02-07 25 views
-1

嘗試檢查輸入變量 的數字輸入的第一個字符,以獲取cc輸入並更改添加美國美國公民,簽證,主人或發現徽標 amex以3開頭,簽證4,主卡5個DS 6關於輸入變更的Jquery檢查第一個atChar(0)

我看到了它在航空公司的網站看起來生病 他們沒有要求客戶自己的卡類型來完成

這將是,如果我能做到這一點真棒與城市和州的郵政編碼以及

如果我嘗試和做.val()對此是不會把它給我

不適合我現在在這裏工作這麼好是我走到這一步,

var input = document.form.numInput; 
$(input).change(function(){ 
     if($(this).val().charAt(0) == 3){ 
     $('.amexlogo').show(); 
     }else if($(this).val().charAt(0) == 4){ 
     $('.visalogo').show(); 
     }else if($(this).val().charAt(0) == 5){ 
     $('.masterlogo').show(); 
     }else if($(this).val().charAt(0) == 6){ 
     $('.discoverlogo').show(); 
     }else{ 
     $('.invalid').show(); 
     } 
}); 

這就是我認爲的代碼應該看起來像,但在JS控制檯我甚至不能得到change事件以

 console.log(this.val()); 

所有它告訴我是

 Uncaught TypeError: undefined is not a function 

非常感謝球員

+0

好了,基本的測試表明,它似乎工作:http://jsfiddle.net/davidThomas/0qmw8f20/(當然,我不得不改變' document.form.numInput'轉換爲'document.forms [0] .numInput',但是這是爲了響應完全不同的錯誤('未捕獲的TypeError:無法讀取未定義的屬性'numInput'))。 – 2015-02-07 17:20:44

+0

謝謝大衛 我一直在擺弄它,並得到它的工作。當我犯了一些錯誤時,我認爲我的chrome js控制檯出了問題 – 2015-02-07 20:46:27

回答

0

由於您的頁面中可能有多種表單,因此您必須參考nameindexing的任何特定表單。

var input = document.forms[0].numInput; 

更新您的代碼如下所示,

var input = document.forms[0].numInput; 
$(input).change(function(){ 
     if($(this).val().charAt(0) == 3){ 
     $('.amexlogo').show(); 
     }else if($(this).val().charAt(0) == 4){ 
     $('.visalogo').show(); 
     }else if($(this).val().charAt(0) == 5){ 
     $('.masterlogo').show(); 
     }else if($(this).val().charAt(0) == 6){ 
     $('.discoverlogo').show(); 
     }else{ 
     $('.invalid').show(); 
     } 
});