2016-05-12 8 views
0

Ich habe eine Komponente in Meteor reagiert mit einem Web-Formular in dem folgenden Code funktioniert gut und druckt hallo addtile in der Konsole.Webform onsubmit arbeitet nicht mit mehr, dass bei der Eingabe in Reaktion

export default class NewTileForm extends Component { 
    addTile(event){ 
    event.preventDefault(); 
    console.log("hello addtile") 
    } 
render(){ 
    return(
     <div> 
      <form className="tile-new" onSubmit={this.addTile.bind(this)}> 
      <input type="text" 
        ref="tile" 
        placeholder="Tile Title"/> 
      </form> 
     </div> 
    ) 
    } 
} 

Allerdings, wenn ich versuche, dem Webformular eine Eingabe hinzuzufügen Ich erhalte keine Antwort vom Konsolenprotokoll:

export default class NewTileForm extends Component { 
    addTile(event){ 
    event.preventDefault(); 
    console.log("hello addtile") 
    } 
render(){ 
    return(
     <div> 
      <form className="tile-new" onSubmit={this.addTile.bind(this)}> 
      <input type="text" 
        ref="tile" 
        placeholder="Tile Title"/> 
      <input type="text" 
        ref="company" 
        placeholder="Tile Company"/> 
      </form> 
     </div> 
    ) 
    } 
} 

Was fehlt mir?

+0

wie werden Sie das Formular absenden? mit der Eingabetaste ?. Was passiert auch andersherum (Firma einschließen, aber Kachel entfernen) – Chris

+0

Ich reiche mit Enter ein. und wenn ich Kachel entferne und nur Firma einschließe, funktioniert das auch. Aber mit zwei Eingabefeldern funktioniert es nicht. –

Antwort

0

Dies ist "eine Browser-Sache" - Sie können kein Formular mit der Enter-Taste und ohne eine Submit oder Schaltfläche senden. Nein, es ist nicht spezifisch für die Reaktion. Um ehrlich zu sein, nicht sicher, warum es mit einem funktioniert - nicht sicher, der Vorbehalt dort.

Anywho, Stackoverflow hat viele Antworten über dieses Problem anzugehen (wenn Sie entfernen reagieren als das Problem):

Submitting a form by pressing enter without a submit button

+0

Danke. Ja, das Problem war, dass das Formular eine Senden-Schaltfläche benötigt. –