-3
我想在点击“登录”按钮后验证我的登录表单,然后成功运行一个php文件。但验证脚本没有运行。下面是我的代码片段。触发onclick事件后Javascript未运行
<head>
<script type="text/javascript" src="services.js"></script>
</head>
<body>
<form method="post" action="log.php">
<div id="PasswordField" class="col-xs-4"/>
<label for="u_pswd">Password:</label>
<input id="u_pswd" type="password" class="form-control" size="25%" placeholder="Enter alteast 8 characters" />
</div>
<br><br><br><br>
<button id="submit" name="checkout" class="btn btn-primary" type="submit" value="submit" onclick="return success()">Log In</button>
</form>
</body>
//services.js
function logInPass(){
var pass = document.getElementById("u_pswd");
var re = new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#[email protected]$%^&*-]).{8,}$");
if(u_pswd=="")
alert("Please enter password !");
else
if(u_pswd.search(" ")!=-1)
alert("please enter valid password");
if(!re.test(pass))
alert("Please enter valid password");
}
你看到一个错误在你的控制台? 'return validation_function();'的问题是你的验证函数中的一个错误会导致返回跳过,并且它会提交。考虑使用'addEventListener'和'event.preventDefault();'。此外,验证检查应移至表单的'onsubmit',因为提交表单的方法比单击按钮更多(例如,按[Enter]])。 – Halcyon
请原谅,人为错误。 –
你没有从点击处理程序返回任何东西,因此提交发生。嗯......在HTML中你调用'success()',例子中的函数是'logInPass'。 – Teemu