2010-10-04 73 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还与对了正则表达式,如果你需要更强大的东西。