Javascript 提交表单,但页面不会重新加载。preventDefault()不工作
当我使用表单并尝试提交时,它会重新加载页面。但我的要求是提交表单,但不重新加载页面并发送数据,并提及此操作url。 我知道这个重复的问题Javascript 提交表单,但页面不会重新加载。preventDefault()不工作,javascript,html,jquery,forms,preventdefault,Javascript,Html,Jquery,Forms,Preventdefault,当我使用表单并尝试提交时,它会重新加载页面。但我的要求是提交表单,但不重新加载页面并发送数据,并提及此操作url。 我知道这个重复的问题 表格 <form id="leadsquareForm" name="leadsquareForm" class="leadsquare-form-single-course" method="post" enctype="multipart/form-da
表格
<form id="leadsquareForm" name="leadsquareForm" class="leadsquare-form-single-course" method="post" enctype="multipart/form-data" action="https://myUrl.jsp">
<h3 class="talk-to-expert" style="width: fit-content;width: -moz-fit-content; margin: 0 auto 15px;">Wish to talk to an expert?</h3>
<div style=" margin: 0 auto 15px; width: -moz-fit-content; width: fit-content;">
<a href="tel:+919599000000"><i class="fa fa-phone" style=" padding: 5px 10px; background: #25D366; color: #fff; border-radius: 7px; font-size: 30px; margin-right: 8px;"></i></a>
<div style="float: right; font-size: 15px; line-height: 1.3; font-weight: 600;">
<div style="color: #00d56b;"><a href="tel:+919599000000">+91 95990-00000</a></div>
<div style="color: #f2aa3c;">Call Now for Expert Counselling</div>
</div>
<!--<!–<h3 style="width: fit-content; width: -moz-fit-content; margin: 0 auto">OR</h3>–>-->
</div>
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type='text' id='FirstName' name='FirstName' placeholder="Name *" required='required' />
<label class="mdl-textfield__label" for='FirstName'>Name *</label>
</div>
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type='email' id='EmailAddress' name='EmailAddress' placeholder="Email *" required='required' />
<label class="mdl-textfield__label" for='EmailAddress'>Email *</label>
</div>
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type='tel' id='Phone' name='Phone' placeholder="Phone Number *" required='required' onkeypress="if(this.value.length==10){return false;}" />
<label class="mdl-textfield__label" for='Phone'>Phone Number *</label>
</div>
preventDefault()
在这种情况下,将阻止提交表单。如果您试图运行一些代码,然后提交表单,则可以尝试以下操作:
$("#leadsquareForm").submit(function(event){
alert('intercept');
event.preventDefault();
console.log(event);
// Run some code...
// Then submit the form
$("#leadsquareForm").submit()
});
$('leadsquareForm')。一个('submit',函数myFormSubmitCallback(事件){
警报(“拦截”);
event.stopPropagation();
event.preventDefault();
var$this=$(this);
$this.one('submit',myFormSubmitCallback);
});代码>
想和专家谈谈吗?
现在请专家咨询
名字*
电子邮件*
电话号码*
提交
您是如何创建表单的?它是在页面加载之后生成的(例如在ajax调用之后)?是否存在任何控制台错误?您是否收到第一个警报
?(对现有答案的评论表明不是)-如果是这种情况(无警报),那么您的事件没有触发,因此event.preventDefault()甚至没有运行,因此它不“工作”。是在重新加载页面后创建表单这是否回答了您的问题?更改您的$(“#leadsquareForm”)。提交(函数(…
到$(文档)。在(“提交”、“#leadsquareForm”函数(…
)上,您需要先尝试事件删除事件.preventDefault()
,然后是警报('intercept')
after
没关系-可以是第一个或最后一个-如果是最后一个,那么如果之前有另一个未处理的脚本错误,则可能会失败-但在这种情况下,根本没有调用它检查控制台,可能有语法错误,似乎没有调用事件处理程序。立即检查bro:)form.submit未执行。我不知道…?抱歉,请立即尝试。您没有通过表单以获取未获取事件。如果有任何问题,请评论我…!您可以检查此代码段吗?这工作正常。
$("#leadsquareForm").submit(function(event){
alert('intercept');
event.preventDefault();
console.log(event);
// Run some code...
// Then submit the form
$("#leadsquareForm").submit()
});