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

Javascript 更改按钮属性会触发我的表单提交吗?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个按钮,我想从常规按钮动态更改为表单提交按钮 例如,我的按钮以type='button'开头,以防止它在第一次单击时提交我的表单 <button id="myButton" type="button">Button</button> $('#myButton').click(function(){ $(this).prop('type', 'submit'); }); 我怎样才能实现我想做的事?我希望我的按钮变成一个按钮,在第二次点击时提交我的表单,而不是第

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

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

<button id="myButton" type="button">Button</button>
$('#myButton').click(function(){
  $(this).prop('type', 'submit');
});

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

代码和样式内联用于演示

这是迄今为止最简单、最安全的方法

<button type="button" onclick="$(this).hide(); $('#subbut').show()">Click</button>
<button id="subbut" type="Submit" style="display:none">Submit</button>
点击
提交

内联代码和样式,用于演示

这是迄今为止最简单、最安全的方法

<button type="button" onclick="$(this).hide(); $('#subbut').show()">Click</button>
<button id="subbut" type="Submit" style="display:none">Submit</button>
点击
提交

您需要删除单击事件

试试这个:

$('#myButton')。单击(函数(){
console.log('foo');
$(this.unbind();
$(this.prop('type','submit');
});


按钮
您需要删除单击事件

试试这个:

$('#myButton')。单击(函数(){
console.log('foo');
$(this.unbind();
$(this.prop('type','submit');
});


按钮
由于单击事件仍将应用于您的按钮,即使您更改了类型,您需要在它和更改类型之间插入一个小延迟。尝试:

$('#myButton')。单击(函数(){
setTimeout(函数(){
$('#myButton').prop('type','submit'))
}, 100)
});

按钮

由于单击事件仍将应用于您的按钮,即使您更改了类型,您需要在它和更改类型之间插入一个小延迟。尝试:

$('#myButton')。单击(函数(){
setTimeout(函数(){
$('#myButton').prop('type','submit'))
}, 100)
});

按钮

您希望防止默认的单击操作在第一次单击时发生,但允许默认的单击操作在第二次单击时提交表单

您可以使用jQuery的

$('myButton')。一个('click',函数(e){
$(this.prop('type','submit');
e、 预防默认值();
});

我的纽扣

您希望防止默认的单击操作在第一次单击时发生,但允许默认的单击操作在第二次单击时提交表单

您可以使用jQuery的

$('myButton')。一个('click',函数(e){
$(this.prop('type','submit');
e、 预防默认值();
});

我的纽扣

因为单击操作仍然处于活动状态,因为单击操作仍然处于活动状态