javascript - 更改按钮属性会触发我的表单提交吗?

标签 javascript jquery html forms

我有一个按钮,我想将其从常规按钮动态更改为表单提交按钮。

即我的按钮以 type='button' 开头,以防止它在第一次点击时提交我的表单。

<button id="myButton" type="button">Button</button>

然后,我将单击事件绑定(bind)到我的按钮,以将其更改为下次单击的提交类型。由于某种原因,它会在第一次点击时触发提交。

$('#myButton').click(function(){
  $(this).prop('type', 'submit');
});

我怎样才能实现我想要做的事情?我希望我的按钮变成一个在第二次单击而不是第一次单击时提交表单的按钮。

最佳答案

您需要防止在第一次点击时发生默认点击操作,但在第二次点击时允许默认点击操作提交表单。

您可以使用 jQuery 的 one() 来做到这一点

$('#myButton').one('click', function(e) {
  $(this).prop('type', 'submit');
  e.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form onsubmit="alert('Form Submitted!');return false;">
  <button id="myButton" type="button">
    My Button
  </button>
</form>

关于javascript - 更改按钮属性会触发我的表单提交吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44186734/

相关文章:

html - Markdown 表格内的 <span> 样式

html - CSS负边距,我做错了什么?

javascript - 如何在 PrimeFaces 中使用 jQuery 和 jQuery 插件

javascript - 如何使用javascript将数据:image/png:base64. ..解码为真实图像

java - 如何解析在html请求中发送的java中的javascript对象?

javascript - 无法使用 protractor.js 从弹出窗口的下拉菜单中单击并选择一个值

javascript - 使用函数清理我的 javascript

jquery - 如何使固定元素与文档底部保持特定距离?

javascript - 使用 Justified Gallery 预加载图像

php - 我应该如何使用 Zend Framework 创建我的 HTML5 Manifest?