我有一個簡單的html註冊表單與onsubmit =「return validateForm()」其中validateForm()是javascript,以確保輸入是正確的形式和電子郵件和密碼字段匹配其確認字段。如何在失敗的JavaScript驗證時運行php腳本?
表單操作設置爲add.php。 add.php將輸入添加到mysql數據庫中。 javascript和php都可以正常工作,但即使JavaScript提示錯誤,如「密碼太短」。 PHP腳本無論如何都運行並在數據庫中創建一個新條目。
我想php腳本只能在成功的javascript驗證時運行,並且如果任何驗證失敗,用戶將保持在同一頁面上,這是如何完成的?
如果需要,我可以添加代碼,但我認爲這裏的答案是通用的。
編輯:
例如這裏是驗證名稱字段代碼:
function checkName()
{
var fName = document.getElementById("firstName");
var lName = document.getElementById("lastName");
if (fName.value.length >= 2 && fName.value.match(/^[A-Za-z]+$/) && lName.value.length >= 2 && lName.value.match(/^[A-Za-z]+$/))
{
return true;
}
else
{
return false;
}
}
function validateForm(){
if (checkName() == false)
{
alert("First and Last Name must be at least 2 characters long and contain only alphabetic characters");
document.getElementById("fName").focus();
document.getElementById("fName").select();
return false;
}
}
有'validateForm()'錯誤時返回false。此外,你應該在進行插入之前在php中驗證這些東西,因爲它很容易繞過javascript驗證。 – 2014-12-03 00:57:32
這只是一個學校作業,安全是沒有關係的。另外我的validateForm()在失敗時返回false。我將用一個示例函數編輯原文。 – user2837791 2014-12-03 01:00:25
如果你使用onclick =「return validateForm()」調用你的函數,它應該停止從jKuhn指出的提交表單 – David 2014-12-03 01:18:36