【问题标题】:submit button outside a form governed by input requirements在由输入要求控制的表单之外提交按钮
【发布时间】:2018-04-19 22:03:35
【问题描述】:

我有一个带有一个输入字段的简单表单

    <form ng-submit="UsernameModalInstance.submitUsername()">
        <input type="text" required autofocus size="25" pattern="[^\s]+" title="no spaces allowed" placeholder="Enter Username Here...">        
    </form>

注意:此输入字段不允许输入或任何空格 因此:我的 ng-submit 函数只有在满足这些要求时才会触发

这是我想要的功能

但是,还有另一种提交表单的方法!

在这个表单下面我有一个按钮:

<button class="btn btn-primary" title="You must enter a username to proceed" ng-click="UsernameModalInstance.submitUsername()" type="button">Submit Username</button>

ng-click 触发与输入上的 ng-submit 相同的功能

但我希望这个提交用户名按钮具有与表单输入相同的要求。

目前,单击按钮将触发该功能,而无需满足任何必须输入内容且无空格的要求!

有没有办法做到这一点?

【问题讨论】:

  • 简单地将按钮保留在表单中,并将类型指定为submit

标签: html angularjs forms button


【解决方案1】:

这是一个简单的例子。您可以将它与ng-submit 一起使用,即用ng-submit 替换onsubmit,如果您将提交按钮保留在form 元素中,则不需要ng-click

function submitUsername(){
  console.log("valid username");
  event.preventDefault();//just to so it works here might not need in your code
}
<form onsubmit="submitUsername()">
        <input type="text" required autofocus size="25" pattern="[^\s]+" title="no spaces allowed" placeholder="Enter Username Here...">    
        <button type="submit">Submit</button>
    </form>

【讨论】:

  • &lt;form ng-submit="UsernameModalInstance.submitUsername()"&gt; &lt;input type="text" required autofocus size="25" pattern="[^\s]+" title="no spaces allowed" placeholder="Enter Username Here..."&gt; &lt;button class="btn btn-primary" title="You must enter a username to proceed" type="button"&gt;Submit Username&lt;/button&gt; &lt;/form&gt; 我已经尝试了上述方法,但是当我单击按钮时没有任何反应,由于某种原因,该功能仅在我按键盘上的 Enter 时触发,但在单击按钮时不触发,有什么想法吗? ?
  • 我的错,我忘记将type="button" 更改为type="submit" 现在都可以正常工作了,谢谢,已接受回答
  • 哥们,我已经提到按钮类型应该是submit 试试看它会起作用
猜你喜欢
  • 2014-12-13
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-26
  • 2016-12-04
相关资源
最近更新 更多