2014-01-20 65 views
0

我有這樣的javascript代碼:窗體操作和Javascript的onsubmit問題

<script type="text/javascript"> 
<!-- 
function testCode() { 
    if (checkCode (document.getElementById('Code').value,document.getElementById('Type').value)) { 
     return true; 
    } 
    else {alert (Errors[ErrorNo])}; 
} 
//--> 
</script> 

我的形式:

<form accept-charset="UTF-8" action="verify.php" onsubmit="return testCode()" method="post"> 
    // My stuff 
    <select id="Type" name="Type"> 
    <option value="basic">Basic</option> 
    <option value="silver">Silver</option> 
    <option value="gold">Gold</option> 
    <option value="platinum">Platinum</option> 
    </select> 

    <input name="Code" type="text" id="Code"> 
    <input type="submit" value="Submit"> 
    </form> 

我提交表格後,例如,如果我不輸入代碼,將提醒我錯誤,但仍然提交表單,如果表單未經驗證,我不想提交。

回答

2

使用return false;如果驗證失敗...

function testCode() { 
    if (checkCode (document.getElementById('Code').value,document.getElementById('Type').value)) { 
     return true; 
    } 
    else { 
     alert (Errors[ErrorNo]); 
     return false; 
     } 
} 
+0

在哪裏添加此,對不起,我是javascript中的新手。 – focusoft

+0

感謝您的幫助,這項工作:D – focusoft

1

您需要返回false;

else {alert (Errors[ErrorNo]); return false;}; 

這將阻止執行其餘的事件。