2015-04-15 61 views
0

我剛開始學習PHP和WAMP。在此之前,我使用HTML,CSS和JS創建了一組網頁。 JS用於驗證表單,如果一切順利,它將跳轉到一個將數據插入到sql數據庫的php頁面。Javascript無法在WAMP上工作,但沒有它就可以正常工作

簡化form.html和validation.js是:

function validation() { 
    var emailCheck = email.search(/^[a-zA-z0-9_]+\@[a-zA-z0-9_]+\.[a-zA-z]{2,3}$/); 
    if (emailCheck==-1) alert("Please enter a valid email address"); 
    else document.getElementById("signup").action = "success.php"; 
} 

表單代碼

<form id="signup" class = "signup" method="POST"> 
    ..... 
<input type="text" name="email" id="email" required/> 
    .... 
<button class = "button3" onclick = "validation()">Submit</button> 
</form> 

的success.php僅僅是將數據插入到MySQL數據庫。

現在我運行form.html而不使用本地主機,JavaScript的作品完美。如果我輸入錯誤的東西,警報窗口會顯示。

如果我用WAMP運行localhost/form.html,當我輸入錯誤的東西時,javascript不起作用。警報窗口不顯示。但是,當我通過驗證,它成功跳轉到success.php。

因此,我認爲Javascript正在工作,但不知何故它的一部分沒有,因爲JavaScript是form.html和success.php之間的唯一連接。

有什麼想法?

+0

JavaScript與WAMP無關,因爲JavaScript在瀏覽器上運行。最可能的問題是你如何加載JavaScript。顯示用於加載JavaScript的''行,或者如果它是在.html文件中進行硬編碼的,請這麼說。 – RiggsFolly

回答

0

變量「email」未定義,因此您無法對未定義的變量使用搜索功能。您需要先獲得電子郵件的價值。

function validation() { 
    var emailCheck = document.getElementById("email").value.search(/^[a-zA-z0-9_]+\@[a-zA-z0-9_]+\.[a-zA-z]{2,3}$/); 
    if (emailCheck==-1) alert("Please enter a valid email address"); 
    else document.getElementById("signup").action = "success.php"; 
} 
相關問題