通过AJAX向用户报告已清理的用户输入

时间:2010-05-17 14:04:17

标签: php ajax json sanitize utf-8

我正在编写一些代码,以便在使用AJAX验证表单时向用户提供实时反馈。我已经检查了它的长度以及该字段是否为空。现在我想要它清理用户输入,如果sanatized输入与用户原始输入不同,那么告诉他们哪些字符是不允许的。

到目前为止,我编写的代码除了一些字符外,其中一些特别是“£”符号没有响应。我认为它与json_encode及其编码有关。

以下是代码:

  $user_input = 'asdfsfs£';
  $strip_array = str_split(strip($user_input));
  $orig_array = str_split($user_input);
  $diff_array = array_diff($orig_array,$strip_array);
  $diff_str = implode(', ',$diff_array);
  $final = json_encode($diff_str);

  function strip($input){return htmlentities(strip_tags($input),ENT_QUOTES);}

希望有人能找到解决方案。

1 个答案:

答案 0 :(得分:0)

如果要通过AJAX完成,那么你需要编写一个javascript函数来完成这个。

让服务器返回格式为

的JSON对象
{
    original: 'asdfsfs£',
    edited: 'asdfsfs',
    illegalChars: ['£']
}
在你的html中,你应该在表单输入字段旁边有空元素,你可以输出表单验证消息

<input type="text" id="myTextField" />
<span id="myTextFieldLabel" />

现在让你的javascript根据验证数据更新myTextFieldLabel组件的内容

肖恩