java清空textarea_使用JQuery清除后,如何删除textarea中的额外换行符.val()

我有一个快速进入产品的表格 . (仅供参考,我的表格设置有表格,因此我可以对齐每个输入的标签 . )

Name

Price

description

我进行了设置,以便在第一个输入字段中按下tab或enter时,它会将用户移动到下一个$(“:input”)字段 . 当用户在最后一个输入字段(即textarea)中单击enter(键码13)时,我将表单在数据库中创建项目,清除三个输入字段的值并再次将焦点放在第一个输入字段上以准备输入另一个项目 . 这是通过“keypress”绑定到带有“description”类的textarea的函数 .

nextFieldOnEnter: function(e) {

var $that = $(e.currentTarget);

if (e.keyCode == (13 || 9)) {

$that

.closest("tr")

.next("tr")

.find(":input")

.focus();

};

},

createOnEnter: function(e) {

if (e.keyCode == 13) {

items.create(this.newAttributes());

this.$("#create-item :input").val('');

this.$("#create-item :input")[0].focus();

};

},

我遇到的问题是,当用户首次加载页面时,textarea为空,但是在用户输入第一个项目并按下输入后,textarea显示为空,但实际上现在包含换行符 . 这意味着当用户再次访问textarea以获取第二个和所有将来的项目时,插入点将位于textarea的第二行而不是第一行,当用户单击enter以保存这些其他项目时,它们将被保存带有领先的换行符 .

我发现这种情况正在发生,因为我正在捕获“enter”键并且输入键不仅触发我的if语句,而且在if语句执行后添加该换行符 . 我想出了这个,因为我尝试绑定到“keydown”,下一次在textarea周围没有那个额外的空间,但是这引入了另一个问题 . 现在它被绑定到“keydown”意味着“enter”命令被发送到第一个输入字段,导致焦点跳转到第二个输入字段 .

接下来我尝试将其绑定到“keyup”,并且“price”类的输入中的“enter”现在触发createOnEnter,导致创建项目而不允许用户在textarea中输入任何内容 .

摘要:

keypress =在用.val('')清除后用textarea中的额外换行符

keydown =输入事件“nextFieldOnEnter”对输入的类“name”被触发并且焦点被赋予输入类“price”

keyup =从价格输入事件触发绑定到textarea的“createOnEnter” .

任何人都有任何关于如何在没有这些问题的情况下清除textarea的想法,因为我正在捕获“输入”键以提前字段并保存项目?

我知道我可以在保存之前删除第二个和所有附加项的前导换行符,但这意味着对于每个附加项,用户仍然会在第二行显示插入点 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值