2014-07-24 40 views
1

我需要爲我的網站建立一個頁面,只有擁有正確驗證碼的人才可以申請用戶名和密碼。這是我的代碼。發送電子郵件一旦某些標準達到要求

<form action="MAILTO:[email protected]" method="post" enctype="text/plain"> 
First Name:<br> 
<input type="text" name="First" value=""><br> 
Last Name:<br> 
<input type="text" name="Last" value=""><br> 
E-mail:<br> 
<input type="text" name="mail" value=""><br> 
Desired Username:<br> 
<input type="text" name="Username" value="" size="16"><br> 
Desired Password:<br> 
<input type="text" name="Password" value="" size="16"><br> 
Verification Number:<br> 
<input type="text" name="VerifyID" value="" size="6"><br><br> 

<input type="submit" value="Send"> 
<input type="reset" value="Reset"> 
</form> 

我希望JavaScript代碼只允許帶有驗證碼「053198」的電子郵件發送。任何幫助表示讚賞!

+3

用javascript做這件事情是非常不明智的:任何人都在查看你的頁面的代碼可以找出你的驗證碼是什麼。或者他們可以更改頁面以刪除支票。您需要檢查服務器上的驗證碼,用戶無法檢查驗證碼。 – StriplingWarrior

+0

它不需要非常安全。我會混淆爲一個額外的措施。 –

回答

0

下面是一個簡單的例子:

添加onsubmitIDform標籤:

<form id="myForm" action="" onsubmit="myFunction()"> 

JS:

function myFunction() { 
    var x=document.forms["myForm"]["VerifyID"].value; 
    if (x == "053198"){ 
     alert("success"); 
     return true; 
    } else{ 
     alert("failed"); 
     return false; 
    } 
} 

注:這不是因爲用戶可以查看pag,所以是最安全的方式e來源並獲取驗證碼。

UPDATE

你可以使用window.location.href = 「電子郵件地址:[email protected]」;在if聲明中,並從form標記中刪除mailto

JSFiddle Demo

+0

如果號碼不正確,我需要它才能打開Outlook。 –

+0

檢查更新:) – imbondbaby

+0

對不起,直到今天還沒有時間檢查。謝謝您的幫助! –

0

你應該在服務器端驗證這一點。但是,您可以在客戶端驗證類似的內容:

將驗證字段和單擊事件添加到您的提交按鈕。

<input type="text" name="VerifyID" id="VerifyID" value="" size="6"><br><br> 
<input type="submit" value="Send" onclick="return verify();"> 

使用以下的javascript:

<script> 
var verify = function() { 
    var verificationNumber = document.getElementById('VerifyID'); 
    return verificationNumber.value == '053198'; 
}; 
</script> 

這不是一個安全的解決方案,但是。在客戶端存儲這個數字意味着一個機器人可以從你的源頭抓取它。最好在服務器端處理這個問題。

+0

現在我的老闆想要PHP或ASP。儘管感謝您的幫助! –

相關問題