我有一个带有电子邮件输入的表单,一个按钮重叠它,当我点击按钮时,按钮滑过输入,这样你就可以输入电子邮件了。当您点击按钮时,它必须提交表单。
我该怎么做?
<form action="http://databox.createsend.com/t/d/s/itkkyu/" method="post" class="subscribe-form" accept-charset="utf-8">
<input id="fieldEmail" name="cm-itkkyu-itkkyu" class="input" type="email" placeholder="Your company email">
<button class="get-notified" type="submit">Get notified</button>
</form>
JS:
(function () {
var count = 0;
$('.subscribe-form button').click(function () {
$('.subscribe-form').submit(function(e) {
e.preventDefault();
count += 1;
});
if (count == 1) {
console.log('oj');
$('.subscribe-form').submit(function() {
});
}
});
})();
答案 0 :(得分:1)
使用jQuery.one()
添加取消提交的一次性事件处理程序,然后使用jQuery.submit()
在完成任务后触发提交事件。
$('.subscribe-form').one('submit',function(e) {
e.preventDefault();
// do something
$(this).submit();
});
答案 1 :(得分:0)
您可以使用此结构。提交方法仅在第二次点击时运行。
(function () {
var submit = false;
$('.subscribe-form button').click(function (e) {
if (!submit) {
e.preventDefault();
submit = true;
return;
}
});
})();
答案 2 :(得分:0)
无需处理按钮的单击,只需处理提交事件。您需要做的就是在您希望提交时调用e.preventDefault()
。
(function () {
var count = 0;
$('.subscribe-form').submit(function(e) {
if (count < 1) {
e.preventDefault();
count += 1;
}
}
});