2016-12-13 120 views
0

編輯
這個問題是不同於建議的複製,因爲它使用了form元素,其中建議重複的不活動submit form回車鍵提交表單立即

此流星客戶端代碼需要觸發submit form事件一旦按下Enter鍵,但它將焦點移動到屏幕上的下一個輸入元素,直到它到達最後一個元素,然後它觸發提交,這不是什麼需要,而不是立即提交。
如何解決? THX

Template.content.events({ 
    'submit form': function (event) { 
    event.preventDefault(); 
    concole.log('form submitted'); 
    } 
}); 
<template name="content"> 
    <form> 
    {{#each this.items}} {{> sub}} {{/each}} 
    </form> 
</template> 


<template name="sub"> 
    {{#if isEqual element "input"}} {{> input}} {{/if}} 
</template> 
<template name="input"> 
    <input class={{class}} type="{{#if type}}{{type}}{{else}}text{{/if}}" name={{name}} placeholder={{placeholder}} value={{value}} data-id={{_id}}> 
</template> 
+1

可能的重複? http://stackoverflow.com/questions/21897058/submit-message-by-pressing-enter –

+0

我沒有看到你的代碼中的任何輸入字段。他們是價值嗎?[]'?你使用任何外部插件的形式和輸入元素? – Khang

+0

@Khang編輯它。對不起這是我的錯。 –

回答

0

有兩種解決這個問題。

  1. 'type =「submit」':=您可以將type = submit設置爲您的所有輸入字段。
  2. 當用戶在輸入字段上按回車鍵時調用提交方法。

    Template.content.events = { 
        'keypress input': function (evt, template) { 
        if (evt.which === 13) { 
         $("form").submit(); 
        } 
        }, 
        'submit form': function (event) { 
        event.preventDefault(); 
        concole.log('form submitted'); 
        } 
    }; 
    
+0

是你的答案兩步解決方案或一個或另一個?當Enter鍵被擊中時,我嘗試''輸入輸入'沒有被調用。 –

+0

您可以嘗試在輸入模板「Template.input.events」上設置事件嗎? –

+0

按鍵沒有工作,但keydown做了輸入模板 –

相關問題