2

这是一件奇怪的事情。我已经启动并运行了我的第一个 Meteor 应用程序。

您可以在以下网址看到它:http: //www.howli.st

这是正在发生的事情:

  1. 按下过程以使用示例数据将您带到数据输入屏幕,您可以在其中弹出一些值
  2. 从右上角获取会话引用,然后在另一个浏览器中再次打开 howli.st,然后将该会话引用粘贴到右侧的框中以“检索数据”
  3. 两个浏览器现在都在同一个会话中,如果您在其中一个中键入数据,它将在另一个中更新。

小故障:以下是表单绑定框的一系列更改所发生的情况:

  1. “你好”->“你好”
  2. "hello world" -> "hello"注意其他浏览器没有变化
  3. "helloworld" -> "helloworld"其他浏览器现在更新了!

这是我的应用程序中的代码:

html:

    <tr>
       <td>form binding</td>
       {{#each sessioninfo}}
       <td colspan="2"><input type="text" id="formbinding" value={{formbind}} ></td
       {{/each}}    
    </tr>

js:

Template.thedata.events = {    
 'keyup #formbinding':function(){
     //save formbinding to MyItems
     var thisSession = Session.get("thisSession");
     MySessions.update({_id: thisSession}, {$set : { formbind : $('#formbinding').val()}});
  }
};

Template.thedata.sessioninfo = function(){
    return MySessions.find({}); 
};  

感激地收到任何帮助。

更新如果我使用变量 theformbind = $('#formbinding').val() 传递给我的更新语句,那么另一个浏览器会更新,但它只显示空格之前的文本,即

  1. abcd -> abcd
  2. ab cd -> ab

在 mongodb 中查看正确的值“ab cd”已存储

4

1 回答 1

1

o_O

再看一眼,我现在看到了

<td colspan="2"><input type="text" id="formbinding" value={{formbind}} ></td>

在表单绑定周围没有",因此您希望它是

<td colspan="2"><input type="text" id="formbinding" value="{{formbind}}"></td>

这样它就允许包含空格的东西(而不是对它们提出新的论点)。

于 2012-05-31T01:27:21.620 回答