會員註冊 / 登入  |  電腦版  |  Jump to bottom of page

網頁程式設計 Web Development » 表單驗證....??

發表人: viva, 八級學員
2008-10-03 19:08:41
請教一下,text欄位若沒輸入值即顯示提醒視窗...
狀況1:沒輸入值,點圖片,正常
狀況2:沒輸入值,按Enter鍵,異常!!(為何提示視窗會彈出兩次?)
<%@ page contentType="text/html; charset=UTF-8" %>

<html>
<head>
</head>
<body>
<%
String a = null;
a = request.getParameter("keyword");
out.println(a);
%>
<script language="javascript">
function test() {
if( document.formt.keyword.value == "" ) {
alert("請輸入值");
return false;
} else {
return true;
}
}
</script>
<form name="formt" method="POST" action="/member/test.jsp" onsubmit="return test()">
輸入:<input name="keyword" size="20" value="" type="text" onkeypress="if ( event.keyCode == 13 ) test();">
<a href="javascript:void(test())"><img src="/images/searchgame.gif" width="68" height="20" align="absmiddle"></a>
</form>
</body>
</html>

發表人: andowson, 七段學員
2008-10-04 11:21:50
1.onkeypress會再按下Enter時執行一次test(),此外,按下Enter對瀏覽器而言等同於要求submit表單,於是表單被送出
2.onsubmit會在表單送出時執行一次test()

發表人: viva, 八級學員
2008-10-04 11:44:50
 
andowson wrote:按下Enter對瀏覽器而言等同於要求submit表單,於是表單被送出

成功了,上面這句話點醒我.....謝謝指導!!
輸入:<input name="keyword" size="20" value="" type="text" onkeyDown="if( event.keyCode == 13 && document.formt.keyword.value == '') { alert('請輸入值');return false;} else {return true;}">




會員註冊 / 登入  |  電腦版  |  Jump to top of page