2013-03-31 46 views
0

我是初學者,使用javascript。如果計數等於16(cc驗證),則顯示html div

我正在嘗試使用JavaScript的東西。

但是我已經結束了大量的無效代碼

這是我的HTML代碼

<input name="cc_number"> 

<div id="hidee" style="display:none"> 
<input name="cvv2"> 
</div> 

我試圖讓它由JavaScript所示,如果字符在「CC_NUMBER數輸入「是16

我的想法是計數字符,並作出條件,如果他們等於16,然後顯示div。

但我未能建立代碼。

感謝

+0

你能告訴我們你試過甚麼?我們不會爲您編寫代碼。 – Xenolithic

+0

你的標記是錯誤的。沒有結束標籤,字段上沒有輸入類型,命名也不好。 – SachinGutte

+0

@phobos這只是一個例子,我的代碼太長和複雜 –

回答

1

嘗試將一個處理器上的輸入域的KEYUP:

<input name="cc_number" onkeyup="showDiv(this)"> 

<div id="hidee" style="display:none"> 
<input name="cvv2"> 
</div> 

<script> 
    function showDiv(src) { 
    document.getElementById("hidee").style.display = 
     src.value.length==16 ? "block" : "none"; 
    } 
</script> 
0

可能是你最好的選擇是一點點的jQuery:

$('input[name="cc_number"]').on('keyup', function() { 
    if($(this).val().length==16){ 
     $('#hidee').show(); 
    } else { 
     $('#hidee').hide(); 
    } 
}); 

剛剛附加一個監聽器(KEYUP中的例子),並在該事件檢查值的長度。

+3

我不能使用jquery :( –

+0

你應該在你的問題中指定... – Fluidbyte

+2

我沒有downvote,但如果問題沒有標記/或提到jQuery,只使用普通的javascript答案(記住不是每個人都使用jQuery) – lifetimes

1

你可以這樣說:

var number = document.getElementById('cc_number'); 
var hidee = document.getElementById('hidee'); 

number.onkeyup = function() { 
    if (this.value.length >= 16) 
     hidee.style.display = 'block'; 
    else 
     hidee.style.display = 'none'; 
}; 

我還添加了一個idcc_numberdiv所以可以更容易選擇。

<input id="cc_number" name="cc_number"> 
+0

非常感謝你的工作很好 –

1

嘗試此nonobtrusive溶液:

的Javascript

document.getElementsByName("cc_number")[0].onkeyup = function(){ 
    if(this.value.length>=16) 
     document.getElementById("hidee").style.display ="block"; 
    else 
     document.getElementById("hidee").style.display ="none"; 
} 

標記

<input name="cc_number" /> 

<div id="hidee" style="display:none"> 
    <input name="cvv2" /> 
</div> 

jsFiddlehttp://jsfiddle.net/PhyVQ/

+0

非常感謝 –

相關問題