通过 AJAX 向用户报告经过净化的用户输入
我正在编写一些代码,以便向用户提供有关使用 AJAX 验证表单的实时反馈。我已经检查了长度以及该字段是否为空。现在我希望它清理用户输入,如果清理后的输入与用户原始输入不同,则告诉他们不允许使用哪些字符。
到目前为止,我编写的代码可以工作,但某些字符(尤其是“£”符号)不会导致任何响应。我认为它与 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);}
希望有人能找到解决方案。
I am writing some code to give live feedback to the user on the validation of a form using AJAX. I have got it checking length and if the field is empty. Now I want it to sanitize the users input and if the sanatized input differs from the users original input then tell them which characters are not allowed.
The code I have written so far works except some characters most notably a '£' symbol result in no response. I think it relates to json_encode and its encoding.
Here is the code:
$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);}
Hope someone can figure out a solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这是通过 AJAX 完成的,那么您将需要编写一个 javascript 函数来完成此操作。
让服务器返回
html 中格式的 JSON 对象,表单输入字段旁边应该有空元素,您可以在其中输出表单验证消息,
现在让您的 javascript 根据验证数据更新 myTextFieldLabel 组件的内容
Sean
if this is to be done via AJAX then you will need to write a javascript function to accomplish this.
Let the server return a JSON object of the format
in your html, you should have empty elements next to the form input fields where you can output the form validation message
now let your javascript update the content of the myTextFieldLabel component according to the validation data
Sean