2010-10-04 71 views
0

我的工作夥伴告訴我,你可以使用jQuery寫幾行代碼來找到單個字符(在本例中爲'\0'),並將其替換爲頁面上的所有文本框和textareas。當然,他沒有告訴代碼行會做什麼...jQuery - 在表單中清除所有文本框/文本區中的數據?

有沒有簡單的方法來做到這一點?我們遇到了一個問題,那就是人們從舊系統中複製數據,並且在文本末尾有一個'\0'的數據。然後將其保存在數據庫中,然後從數據庫返回給客戶端時,會導致錯誤。

編輯:我同意馬格納爾的答案,但僅僅爲了學習的緣故,有誰知道有辦法做到這一點?

+0

我增加了你如何去做我的答案。 :-) – Magnar 2010-10-12 16:27:59

回答

5

這不是jQuery的工作。我強烈建議您刪除服務器端的空字符,以增加穩定性和安全性。

但是,這是你會怎麼做(略詳細):

var remove_null_character = function() { 
    var field = $(this), 
     old_value = field.val(), 
     new_value = old_value.replace('\0', ''); 
    field.val(new_value); 
}; 
$("input:text, textarea").live("blur", remove_null_character); 
+0

我完全同意這btw,+1 – 2010-10-05 13:06:49

+0

謝謝!這很簡單,但我同意,我會在服務器上保留這個邏輯。 – Martin 2010-10-12 16:33:56

1

JavaScript有串查找/替換您可以使用的功能。 jQuery的可以爲您獲取特定的輸入節點,但查找/替換,只是普通的javascript:

str = str.replace('\0', ''); 

The replace function還與對了正則表達式,如果你需要更強大的東西。