2011-08-17 79 views
2

我試圖找到任何有用的帖子爲我的問題,但沒有找到如此我的問題: 我想驗證表單之前提交到數據庫。這是我的代碼:使用onsubmit驗證表單使用Javascript不起作用

<%@ page language="java" contentType="text/html; charset=windows-1255" 
pageEncoding="windows-1255"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255"> 
<title>Registration</title> 
<link rel="shortcut icon" href="img/icon0.png" /> 
<link rel="stylesheet" type="text/css" href="../css/index.css" /> 
<script type="text/javascript"> 
function validate_form() 
{ 
var isValid = true; 
var username = document.getElementById("username").value; 
if (username==null||username==""){ 
    alert("WRong input"); 
    isValid = false; 
} 
if(isValid == true) 
{ 
    return true; 
} 
return false; 
} 
</script> 
</head> 
<body> 
<form action = "regServlet" method = "POST" onsubmit="return validate_form()"> 
<table id="regTable"> 
    <tr> 
    <td class="firstRow">Username:</td> 
    <td><input type="text" name="username" value="" size="15"/></td> 
    </tr> 
</table> 
<input style="margin:auto;" type="image" name="loginB" src="../img/login_button.png" /> 
</form> 
</body> 
</html> 

它是在Tomcat中6 運行當我跑步時的頁面JSP文件,我的JavaScript函數不會在所有的工作。我在函數的開始處用alert來檢查它。 我的問題是什麼?我忘了什麼? Eclipse在表單行上寫入錯誤(其中出現onsubmit): 無法從函數或方法外部返回。

感謝

+0

這是代碼,因爲它的呈現? – Phil

回答

1

你需要id=username因爲你有

document.getElementById("username") 
1

你需要給你的輸入與name="username"也是一個id="username"

DEMO:http://jsfiddle.net/maniator/tf5zA/

而且你的JS可能會更清潔:

function validate_form() { 
    var isValid = true; 
    var username = document.getElementById("username").value; 
    if (username == null || username == "") { 
     alert("WRong input"); 
     isValid = false; 
    } 
    return isValid; 
} 
+0

謝謝你和一個非常好的演示網站。 – user893269