2012-07-29 49 views
0
<input type="text" rel="Credit card number" class="defaultColor" name="cc_num" id="txtCardNumber" runat="server" maxlength="20" onblur="cc_number_saved = this.value; this.value = this.value.replace(/[^\d]/g, '');" onfocus="if(this.value != cc_number_saved) this.value = cc_number_saved;"/> 

我節省信用卡的價值和更換非數字字符的onblur,再次把他們的onfocus(基本空間和破折號)同場的多個instace。如果有更多的房間(我的意思是如果用戶選擇多個房間,我們爲不同容器中的每個房間填充信用卡字段,則該字段將被多次創建)的onfocus的onblur問題的JavaScript

如果我在其他類型的信用卡信息中輸入不同的信用卡信息房間它將取代第一個房間的價值,我如何爲這個信用卡領域的每個房間創建一個不同的實例 我已經在gloabal範圍中聲明瞭變量,所以它導致我beilive的問題,但不知道如何使其私人與當前計算策略各產生輸入信用卡領域。

var cc_number_saved = ""; 

請讓我知道,如果它是不明確的。

回答

0

使用jQuery將值附加到表示相關輸入的DOM元素。

隨着上輸入自己的ID:

<input id = 'input1' > 

然後,你可以指定連接到輸入這樣的值數據字段:

$('#input1').on('blur', function(){ 
    $(this).data('temp', $(this).val(); 
} 

...保留該值,而不管你對輸入值做了什麼。

後來這樣再次找回它:

var originalVal = $('#input1').data('temp'); 

然後申請操縱值回這樣的輸入:

var newVal = someFunction(originalVal); 
$('#input1').val(newVal); 

...或什麼的。

+0

謝謝!輸入是以歧義形式創建的,因此ID是不同的,我已經實現了您對所有字段的想法,並且它工作正常!謝謝! – Kalish 2012-07-29 11:53:56