2014-11-25 122 views
0

我有一个供用户输入全名的文本框。jQuery修剪所需字段

现在在keyup中,我调用下面的代码(我的changeAction调用的一部分);

target.value = $.trim(target.value); 

所以代码修剪用户输入的值。

此外,由于这是必填字段,因此我使用它来启用“提交”按钮。

现在的问题是,由于上面的代码,如果用户输入任何空间(比如说输入“Mike Dennis”时),自trim()被调用后,他是不允许(在Mike之后)?

如何解决这个问题,同时确保其他逻辑工作(特别是按钮启用)? 我不能用“模糊”这里事件..

+1

在丢失焦点而不是关键时运行此代码 – 2014-11-25 07:39:49

+1

$('#elementofInterest')。on('blur',function(e){e.target.value = $ .trim(e.target.value) ;}) – 2014-11-25 07:40:18

+0

我知道这是一个选项...但不幸的是,我的要求是,我需要在键盘上运行,因为用户键入... – testndtv 2014-11-25 07:40:51

回答

0

如果您不是允许用户只输入空格和修剪用户完成输入

这里后的工作小提琴http://jsfiddle.net/v8qj2suc/2/

的HTML

<input type="text" id="elementOFInterest" />

JavaScript的

$("#elementOFInterest").on('keyup', function (e){ var target = e.target; if($.trim(target.value) == ""){ target.value = ""; } }); $("#elementOFInterest").on('blur', function (e){ var target = e.target; target.value = $.trim(target.value); });