提交时忽略文本输入字段中的逗号

时间:2013-02-01 23:34:57

标签: javascript jquery python

所以我做了这个搜索,做了它应该做前端明智的事情。但是,在提交时,我希望查询忽略逗号。

现在我正在使用逗号进行逗号分隔搜索。整个事情是,当我提交;包含逗号,从而弄乱了我的搜索值。

提交时有没有办法忽略逗号?

示例:搜索[Example][Test]实际上会返回Example,Test

我做了fiddle here

非常感谢任何建议和帮助。

2 个答案:

答案 0 :(得分:1)

var firster = true;
//capture form submit
$('form.nice').submit(function(e){
    if(firster){
         // if its the first submit prevent default
         e.preventDefault();
         // update input value to have no commas
         var val = $('input').val();
         val = val.replace(/,/g, ' ');
         $('input').val(val);
         // let submit go through and submit
         firster = false;
         $(this).submit();
    }
});

<强> DEMO

答案 1 :(得分:0)

查看您的个人资料,我猜你是否正在使用python作为服务器端语言。您尝试解决的问题最好在服务器端处理:从不依赖前端代码来转义或格式化查询中使用的数据...... {{3更多信息

无论如何,在python中,你可以试试这个:

ajaxString.replace(",","\", \"")

Thiis会替换" OR "的所有逗号,因此some, keywords之类的字符串会被翻译为some", "keywords,只需添加some_field IN ("和结束")即可有效的查询。
或者,您可以拆分关键字,并单独处理它们(根据结果可能

的相关性,在对结果进行排序时可能会派上用场。

searchTerms = ajaxString.split(",")
>>>['some','keywords']

我希望,这应该会帮助你。

最后,我建议您根本不打算开发自己的搜索功能。只需在您的网站上添加Google搜索,他们就是专家。你自己也没有办法做得更好。或者即使你可以,想象它会带你多久! 是的,有时一家公司会创建自己的搜索引擎,但前提是他们有充分的理由这样做,并拥有这样的资源所需的资源。编程往往都是关于&#34;聪明地懒惰&#34; :不要重新发明轮子。