我正在使用Ajax来测试注册表单上的用户名是否太短。
现在它只是这样做:
if (str.length<6)
{
document.getElementById("txtHint").innerHTML="Too short";
return;
}
如何在上面添加不允许用户提交的操作?
<form action="/insert/insert-user.php" method="post">
<input type="text" name="user" onkeyup="showHint(this.value)"/>
答案 0 :(得分:1)
在CheckUserName函数中,添加您的ajax代码并返回true或false。如果它是假的,它将不会提交。
<form action="/insert/insert-user.php" onsubmit="CheckUserName()" method="post">
答案 1 :(得分:0)
给你的错误div一个类让我们说“错误”,并在提交表单时调用另一个函数,在其中你检查if错误类是否有JQuery的文本。如果该类具有文本,则返回false并且您的表单将不会被提交
答案 2 :(得分:0)
您可以尝试在表单中添加表单名称和onsubmit事件。
<form name="formName"action="/insert/insert-user.php" method="post" onsubmit="validate()">
function validate() {
if (document.formName.user.value.length < 7) {
// Display your message in your division
return false;
}
}
您还必须重复检查PHP,因为用户可能已禁用Javascript并且为了安全措施:
if ($_POST['your_submit_button']) {
if (strlen($_POST['user']) < 7) {
$submit = false;
die ("<div style='color: red;'>Too short</div>");
}
}