Javascript 输入Key tricks val()长度/jQuery

Javascript 输入Key tricks val()长度/jQuery,javascript,jquery,coffeescript,Javascript,Jquery,Coffeescript,在输入内容之前,我将禁用提交按钮。问题是回车键是按字符或“长度”计数的 这是针对文本区域的 Count.js.咖啡 $(document).ready -> $(".cmnt_btn").attr "disabled", true $(".cmnt_area").keyup -> # Disable button when nothing is entered # Enter Key tricks this unless $(this).val().l

在输入内容之前,我将禁用提交按钮。问题是回车键是按字符或“长度”计数的

这是针对文本区域的

Count.js.咖啡

$(document).ready ->
  $(".cmnt_btn").attr "disabled", true
  $(".cmnt_area").keyup ->
    # Disable button when nothing is entered
    # Enter Key tricks this
    unless $(this).val().length is 0
      $(".cmnt_btn").attr "disabled", false
    else
      $(".cmnt_btn").attr "disabled", true
    # Character Count
    left = 300 - $(this).val().length
    left = 0  if left < 0
    $(".cmnt_counter").text left
$(文档).ready->
$(.cmnt_btn”).attr“已禁用”,真
$(“.cmnt\u区域”).keyup->
#未输入任何内容时禁用按钮
#在此输入关键技巧
除非$(this.val()。长度为0
$(.cmnt_btn”).attr“已禁用”,false
其他的
$(.cmnt_btn”).attr“已禁用”,真
#字符数
左=300-$(此).val().length
如果左侧<0,则左侧=0
$(“.cmnt_计数器”)。文本左侧

如何“禁用”enter键作为字符计数或禁用该键直到输入其他内容?

您可能要求从文本区域的开始和结束处修剪新行/空格:

$(this).val().replace(/^\s+|\s+$/g, '').length

此外,在禁用属性上设置true/false也不会起任何作用:将它们替换为prop。

可能不是enter键算作长度,而是按enter键提交表单?不,不,按enter键会断开行,并算作长度>0。这是一个文本区域哦,好的,如果它是用于文本区域,只需使用
$.trim($(this.val()).length
代替它。你能重构我的代码(prop)吗,这样我就可以看到它是如何正确完成的?谢谢。你只需将“attr”的每个实例替换为“prop”。