我有一个HTML格式的注册表格,我在下面附上了它
<;表单id=“registerForm”>;
<;输入type=“text”pattern=“[A-Za-z]{1,20}”占位符=“First Name”Name=“guestFName”title=“最多20个字母字符”必填项>;
<;输入type=“text”pattern=“[A-Za-z]{1,20}”占位符=“Last Name”Name=“guestLName”title=“最多20个字母字符”必填项>;
<;输入type=“email”placeholder=“email”name=“guestEmail”title=“必须是有效的电子邮件地址”必填项>;
<;输入type=“text”pattern=“08[36579]-\d{7}”placeholder=“Phone Number”name=“guestPhone”title=“必须是格式为08?-7位”的爱尔兰手机号码>;
<;输入type=“password”pattern=“(?=.*\d)(?=.[a-z])(?=.[a-z])。{8,20}”占位符=“password”name=“guestPassword”title=“必须是8个或更多字符长,并且至少包含一个数字和一个大写字母”必填项>;
<;br>;
<;按钮id=“myButton”>;注册</按钮>;
</表格>;
当有人填写表单时,我试图将表单中的信息发布到python API,然后python API将信息插入MySQL数据库
我想要HTML中所需的和模式的功能
我使用jQuery3.1.1和Ajax将表单数据发布到API
我的JQuery/Ajax附在下面:
$(“#注册执行”).submit(函数()
{
$.ajax(
{
url:“url在这里”,
数据:$('#registerForm')。序列化(),
键入:“POST”,
异步:false
})
.完成(功能(响应)
{
控制台日志(响应);
var result=JSON.parse(响应);
})
});
我认为这应该是可行的,但是如果我填写表单并单击Register按钮,它会重新加载页面并将表单信息添加到URL中
这方面的一个例子是:
URL\u GOES\u HERE/register.html?guestFName=Joe&;guestLName=Bloggs&;guestEmail=bloggs%40gmail.com&;留言电话=087-1111111&;guestPassword=TestPassword1
为什么会这样
非常感谢您的帮助
编辑:e.preventDefault();没有解决问题
我认为你应该使用<;输入类型=“按钮”>而不是<;按钮></只需使用。单击(该事件的<;输入类型=“按钮”>如下所示
改变
<;按钮id=“myButton”>;注册</按钮>;
至
<;输入类型='button'id='btnRegeister'值='Register'/>;
还有JS
改变
$(“#注册执行”).submit(函数()
至
$(“#btnReeister”)。单击(函数()
现在,您的整个代码如下所示
<;form id=“registerForm”>;
<;输入type=“text”pattern=“[A-Za-z]{1,20}”占位符=“First Name”Name=“guestFName”title=“最多20个字母字符”必填项>;
<;输入type=“text”pattern=“[A-Za-z]{1,20}”占位符=“Last Name”Name=“guestLName”title=“最多20个字母字符”必需>;
<;需要输入type=“email”placeholder=“email”name=“guestEmail”title=“必须是有效的电子邮件地址”>;
<;input type=“text”pattern=“08[36579]-\d{7}”placeholder=“Phone Number”name=“guestPhone”title=“必须是格式为08?-7位”的爱尔兰手机号码>;
<;input type=“password”pattern=“(?=.*\d)(?=.[a-z])(?=.[a-z])。{8,20}”placeholder=“password”name=“guestPassword”title=“必须是8个或更多字符,并且至少包含一个数字和一个大写字母”>;
<;br>;
<;输入类型='button'id='btnRegeister'值='Register'/>;
<;/form>;
$(文档).ready(函数(){
$(“#btnReeister”)。单击(函数()
{
$.ajax(
{
url:“url在这里”,
数据:$('#registerForm')。序列化(),
键入:“POST”,
异步:false
})
.完成(功能(响应)
{
控制台日志(响应);
var result=JSON.parse(响应);
})
});
});
试试上面的代码,它对我有用