2 votes

Meteor : La mise à jour automatique à travers les navigateurs échoue dans mon application lorsque le caractère "espace" est utilisé

Voici une chose étrange. Je suis en train de réaliser ma première application Meteor.

Vous pouvez le voir à l'adresse suivante http://www.howli.st

Voici ce qui se passe :

  1. Appuyez sur processus pour utiliser les données de l'échantillon afin d'accéder à l'écran de saisie des données où vous pouvez saisir quelques valeurs. où vous pouvez saisir quelques valeurs.
  2. Prenez la référence de session dans le coin supérieur droit et, dans un autre navigateur, ouvrez howli.st et collez cette référence de session dans la case à droite pour à droite pour "récupérer les données"
  3. Les deux navigateurs sont maintenant dans la même session et si vous tapez des données dans l'un, elles seront mises à jour dans l'autre.

Petit problème : voici ce qui se passe après une série de modifications de la boîte de liaison du formulaire :

  1. "hello" -> "hello"
  2. "hello world" -> "hello" note : pas de changement dans les autres pouvoirs
  3. "helloworld" -> "helloworld" l'autre navigateur se met à jour !

Voici le code de mon application :

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({}); 
};  

Toute aide est la bienvenue.

Mise à jour Si j'utilise une variable theformbind = $('#formbinding').val() pour la passer à mon instruction de mise à jour, l'autre navigateur effectue la mise à jour, mais il n'affiche que le texte précédant l'espace, c.-à-d.

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

En regardant dans la mongodb, la valeur correcte "ab cd" a été stockée.

1voto

Tom Wijsman Points 7139

O_O

En y regardant à deux fois, je constate que

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

n'a pas " autour de la fourche, vous voudriez donc qu'elle soit

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

de manière à ce qu'il autorise les éléments contenant des espaces (et qu'il ne crée pas de nouveaux arguments à partir de ces derniers).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X