-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