javascript - 如果焦点不在文本区域,则提交 ng-form

标签 javascript html angularjs forms

 <ng-form name="ctrl.scaleItemForm" ng-submit="ctrl.submit()">
      <input type="text"
      ng-model="ctrl.scaleItemPF.tareValue"
      name="tare-val-si">

      <textarea name="sectionLayouts"
      ng-trim="false"
      autocomplete="off"
      autocorrect="off"
      autocapitalize="off"
      spellcheck="false">
      </textarea>

      <button type="submit"
      class="button-save">
      Save
      </button>           
 </ng-form>

我使用的是 Angular 1.5.8,在我看来,我有一个附加了 ng-submit 的 ng-form,以便在输入按键时触发提交功能。我在 ng-form 中有一个文本区域,在文本区域内按 Enter 键时的默认行为是换行符,这是在提交表单的同时发生的,如果焦点位于纹理上,我不想提交表单,相反,我需要一条新线。如果替换为 form 标签而不是 ng-form ,它会按预期工作。这是与 ng-form 相关的错误还是我做错了什么

总结一下问题。 如果焦点位于文本区域,则不想在输入按键时提交表单,否则应提交表单。

最佳答案

if (event && event.target.nodeName === 'TEXTAREA'
          && event.keyCode === 13) {
            return undefined;
}

通过将 $event 传递给提交函数并检查当前输入是否为文本区域以及回车键是否触发了返回“未定义”的提交函数来解决此问题,以便继续使用文本区域的默认行为将光标移动到下一个线。

关于javascript - 如果焦点不在文本区域,则提交 ng-form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403889/

相关文章:

javascript - JavaScript 中的按钮单击可在表中添加一行

javascript - 如何在 javascript 中将元素添加到 HTMLCollection 中?

ASP.NET MVC 5 与 AngularJS/ASP.NET WebAPI

javascript - AngularJS网页版工作移动文本区域无法编辑

javascript - 动态创建单选按钮并选择适当的按钮 Angularjs

javascript - 无法订阅 onClick 事件

javascript - 检查用户是否在 node.js 中的 postgresql 中(异步)

javascript - ChartJs Canvas 在更改图形类型时显示以前的图形

javascript - Jquery 动画宽度 Accordion 样式横幅

javascript - Chrome开发工具: How to calculate the total time required to load a popup and display it on a page?