Javascript 使用Crafty.js和CoffeeScript从文本区域获取数据

Javascript 使用Crafty.js和CoffeeScript从文本区域获取数据,javascript,html,coffeescript,craftyjs,Javascript,Html,Coffeescript,Craftyjs,我有一些代码在CoffeeScript中使用Crafty.js 我创建了一个弹出窗口,希望用户写下寄存器数据,但不知何故,它不起作用 你能指出错误在哪里吗 代码如下: class registerDlg extends Dlg constructor: (text, fun) -> text = """ <p>Username:</p> <textarea id="name-textarea" placeholder="username"&

我有一些代码在CoffeeScript中使用Crafty.js

我创建了一个弹出窗口,希望用户写下寄存器数据,但不知何故,它不起作用

你能指出错误在哪里吗

代码如下:

class registerDlg extends Dlg
  constructor: (text, fun) ->
  text = """
  <p>Username:</p>
    <textarea id="name-textarea" placeholder="username"></textarea>
  <p>Password:</p>
    <textarea id="password-textarea" placeholder="password"></textarea>
  <p>Email</p>
    <textarea id="email-textarea" placeholder="email"></textarea>
  """
  $nameText = $('#name-textarea')
  $emailText = $('#email-textarea')
  $passwordText = $('#password-textarea')
  if !fun
    fun = -> closeDlg(this)
  onReady = ->
    inner.append(text)
    inner.append("""
      <div id="sendBtn" class="btn-green">Register</div>
      <div id="#{@id}-confirm" class="btn-blue">Later</div>
    """)
    $("##{@id}-confirm").click( => fun.call(@))
    $(sendBtn).click( =>
      if isEmptyStr($nameText.val()) or isEmptyStr($emailText.val()) or isEmptyStr($passwordText.val())
        fun = -> closeDlg(this)
      else
        loader.show()

        window.folder.registerData($nameText.val(), $emailText.val(), $passwordText.val(), (data)->
          loader.hide()
          if data.result == 'ok'
            closeDlg(this)
          else
            fun = -> closeDlg(this)
          )
      )
class registerDlg扩展了Dlg
构造函数:(文本,有趣)->
text=”“”
用户名:

密码:

电子邮件

""" $nameText=$(“#name textarea”) $emailText=$(“#电子邮件文本区域”) $passwordText=$(“#密码文本区域”) 如果!乐趣 fun=->closeDlg(这个) onReady=-> inner.append(文本) 内部。追加(“”) 登记 后来 """) $(“#{@id}-确认”)。单击(=>fun.call(@)) $(sendBtn)。单击(=> 如果isEmptyStr($nameText.val())或isEmptyStr($emailText.val())或isEmptyStr($passwordText.val()) fun=->closeDlg(这个) 其他的 loader.show() window.folder.registerData($nameText.val(),$emailText.val(),$passwordText.val(),(数据)-> loader.hide() 如果data.result=='ok' 关闭(本) 其他的 fun=->closeDlg(这个) ) )
例如,如果在registerData中更改了
$nameText.val()
“testArray”的
$nameText.val(),它将正确发送数组,但以原始方式,它不会发送任何内容


有什么想法吗?

还有什么是
内部的
?当
id=“name textarea”
仅在字符串中时,为什么您希望
$(“#name textarea”)
找到任何东西?缩进是正确的,您在其中发现了一些奇怪的东西?我希望它能找到数据,因为在代码中的其他类中,我使用了它,并且它可以工作(它不是一个弹出窗口,但应该没有区别)有什么解决方案或线索可以回答我的问题吗?那么你的
构造函数
方法真的是空的吗?