2013-08-27 81 views
0

我在page1.php上的提交按鈕上調用了javascript函數。在action屬性中,我將重定向到page2.php。在JavaScript的if條件中,如果電子郵件未在Java腳本函數中驗證,我想將控件重定向到page1.php。從php函數中的javascript重定向到特定頁面

+3

我們展示您的代碼,請。 – Halcyon

回答

0

從提交到動作停止形式=頁面,除非驗證,這樣調用JavaScript函數:

<form onsubmit="return functionName()"> 

什麼,做是提交表單之前,從你的JavaScript函數請求了正收益,所以如果它不驗證你可以:

return false; 

並顯示一個錯誤消息給用戶,在這種情況下表格不會提交。

如果它確實驗證您可以

return true; 

而且形式將提交如常。

0

你不需要重新回到另一個php腳本來做javascript驗證。需要說的是,JavaScript在客戶端運行。通過重新傳輸到另一個腳本,您無法使用電子郵件訪問表單輸入字段,因此爲了在另一個腳本中再次訪問,您必須將其提供給客戶端,然後將其輸出到html中。

在這一過程中,你可以代替easilly validat電子郵件點擊提交按鈕後:

<script type="text/javascript"> 

document.getElementById('submitButton').onclick=function(){ 
    if(!validateEmail()){ 
    alert("E-mail is not valid"); 
    return false; 
    } 
} 
}; 

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\ 
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA 
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    return re.test(email); 
} 

</script>