Firebase 与 Polymer 元素的简单聊天

Firebase simple chat with Polymer elements

我创建了 Firebase basic chat app 并且效果很好。我想使用 Polymer paper-input 但我无法在 paper-input 元素上添加 id。

老办法:

<input type='text' id='nameInput' placeholder='Name'>

聚合物:

<paper-input id="fullName" label="full name"></paper-input> //I have added the id

脚本:

var myDataRef = new Firebase('https://demo.firebaseio-demo.com/');
       $('#textInput').keypress(function (e) {
         if (e.keyCode == 13) {
           // get id from paper-input
           var name = $('#fullName').val();
           var text = $('#textInput').val();
            // preventing empty data entry
            if (name !== "") {
              myDataRef.push({name: name, text: text});
              $('#textInput').val('');
              alert('Your text has been sent');

            }
         }
       });

这也不行:

 var myDataRef = new Firebase('https://demo.firebaseio-demo.com/');
   $('#textInput').find('input').keypress(function (e) {
     if (e.keyCode == 13) {
       var name = $('#fullName').find('input').val();
       var text = $('#textInput').find('input').val();
        // preventing empty data entry
        if (name !== "") {
          myDataRef.push({name: name, text: text});
          $('#textInput').find('input').val('');
          alert('You message has been sent');
        }
     }
   });

让我们忽略此示例的文本输入字段。如何在聚合物输入元素上添加 id?

您不需要在聚合物元素内的 <input> 元素本身上添加 id,将其添加到 <paper-input> 应该也能正常工作,并且也应该适用于您的代码。您可以在纸元素的 jquery 版本上调用 .val() 并且应该可以工作,在 HTML 元素(非 jquery)上调用 .value 也可以。

如果您确实需要获取 paper-input 元素中的 input 元素,只需使用 $('#fullName').find('input') 即可。

您的代码中有什么不起作用?据我所知,这应该可以正常工作。