2012-04-25 46 views
2

我正在應用一些格式在網頁中的文本框內輸入。如何保留應用於輸入框的文本轉換格式?

<input style="text-transform: uppercase" 
     type="text" 
     class="textbox" 
     id="code" 
     name="code" 
     D_LABEL="code" 
     beanProperty="code" 
     value="" 
     D_MANDATORY="true" 
     maxlength="10"/> 

這工作正常。我將這個值保存在數據庫中。但是,保存的值不是大寫。如何保存與捕獲時出現在文本框中相同的值?

+0

無論使用哪種服務器端語言來存儲數據庫中的文本,都應該在存儲數據之前使用它來操作數據。 – martincarlin87 2012-04-25 14:14:28

回答

1

上述答案指出你在正確的方向。在將數據發送到服務器之前,您可以簡單地在JavaScript中將輸入框文本轉換爲大寫。使用<string>.toUpperCase()方法實現轉換

+0

這可能適用於個人用例。但是,如果您擔心安全問題,則所有驗證都必須在服務器端進行。有人繞過客戶端驗證是太容易了。在這種情況下,你需要做的就是關閉JavaScript。 – evan 2012-04-26 12:54:02

+0

@evan:是的,那是真的。在這種情況下,獲取數據後,服務器必須轉換爲大寫。這也是一個解決方案。 – CyprUS 2012-04-26 13:05:10

1

沒有辦法在客戶端保證這一點。您需要在服務器端執行字符串操作。

PHP示例:

$input = $_POST["code"]; 
$val = strtoupper($input); 
5

這不會是大寫字母,文字是小寫的,或區分依賴於如何被輸入它,CSS可簡單地控制視覺層,不是數據

0

'value'和'presentation'之間有區別。值保持原樣 - 僅由CSS以大寫形式呈現。如果您需要大寫值,則需要在傳輸到服務器之後進行轉換。