2013-04-24 43 views
-3

我在網站上創建了一個默認值爲「DE」的輸入字段(文本)。現在我遇到以下問題。將文本框中的默認值保留在焦點上

<input type="text" id="iban" value="DE" /> 

當用戶點擊文本框中的默認值「DE」應該被刪除,用戶應該只在文本框中的默認值後添加數字。所以我正在尋找一個js函數,它使得文本框的默認值爲只讀。用戶不應該刪除默認值。

如果這是可能的,它是如何工作的?

+0

我不希望該值會在焦點上被刪除。我正在尋找一個功能,我可以將文本框的一部分標記爲只讀。是的,我尋找它,但我沒有找到這個解決方案。 – proud 2013-04-24 07:01:35

+0

Thx,我會試試這個丹尼貝克特。 – proud 2013-04-24 07:04:44

回答

2

沒有必要使用JavaScript。簡單的HTML和CSS就可以完成這項工作。

移動DE<span>到您<input>的左邊:

<span class="iban">DE</span><input type="text" id="iban" /> 

然後定位<span>內部<input>

span.iban 
{ 
    position: relative; 
} 

input#iban 
{ 
    margin-left: -25px; 
    padding-left: 25px; 
} 

以上代碼生成:

這是JSFiddle

+0

@Downvoter請解釋... – 2013-04-24 07:10:30

+0

用戶只需要輸入數字,不是嗎? – Arkana 2013-04-24 07:10:54

+0

@Arkana這裏的主要問題是如何在文本框中保留默認值。這就是爲什麼*你的*答案已收到2個downvotes。 – 2013-04-24 07:11:41

5

你不能使價值的一部分作爲只讀......但是,如果你想用一個簡單的解決方案(沒有的JavaScript),你可以使用兩個輸入:

<input type="text" id="iban-prefix" value="DE" readonly/><input type="text" id="iban-value"/> 

使用它們安排css,並在您的服務器端連接兩個值。

OR:

一個JavaScript的解決方案:在表單上使用「的onsubmit」事件來調用javascript函數來檢查,如果「DE」的前綴是存在於由用戶輸入的值,如果沒有,添加「DE」前綴。

希望這會有所幫助!

+0

該解決方案也適用。謝謝!!! – proud 2013-04-24 07:14:57

-2

你可以試試這個jQuery的:

$(document).ready(function() { 
    $("#iban").keydown(function(event) { 

      if (event.keyCode < 48 || event.keyCode > 57 || event.keyCode == 46 || event.keyCode == 8) { 
       event.preventDefault(); 
      } 

    }); 
}); 

我在這裏找到:https://snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values/

編輯:它修改,以防止退格鍵和刪除鍵

A working fiddle

希望它能幫助!

+0

這不回答問題。 – 2013-04-24 07:03:04

+0

它在Firefox瀏覽器中不起作用 – 2013-04-24 07:06:48

+1

對不起,正如Danny所說,那不是我搜索的內容 – proud 2013-04-24 07:15:31