我正在使用mySQL,javascript和php。我的网站上有一个表格可以在其中注册新用户。它连接到mySQL中的一个users表,用于保存用户数据。
事情是,除非我有event.preventDefault();
,否则我无法将javascript约束应用于字段表单,无论如何它都将连接到我的php页面并将数据保存到我的表中。但是,如果我使用event.preventDefault();
,它将应用约束,但是当我正确填写它并单击“注册”时,它将不保存任何内容,仅在mysql表中创建一个空用户。
我该如何解决?
var constraints = {
email: {
email: true,
presence: true,
},
Telefone: {
presence:true,
format: {
pattern: "[+0-9]+",
message: "apenas pode conter números [0-9]"
}
},
pwd: {
presence: true,
length: {
minimum: 5
}
},
cpwd: {
presence: true,
equality: {
attribute: "pwd",
message: "as passwords não coincidem"
}
}
}
$("#validationForm").submit(function(event){
event.preventDefault();
$("#error").html("");
console.log(event);
var errors = validate($("#validationForm"), constraints);
if (errors) {
$("#submited").html("");
for (var key in errors) {
$("#error").append(errors[key] + "<br />");
$("#" + key).css("border","1px red solid");
}
}else {
// $("#submited").html("Form Submited");
// redirect to php
window.location.href="registar.php";
}
});
这是因为您正在手动重定向到您的PHP页面。
代替此行:
window.location.href="registar.php";
您应该宁愿
document.getElementById("form_to_submit").submit();