2014-02-01 2 views
0

Рассмотрим следующий пример:JS код не получает вызывается из JSP

<!-- Client registration : the client hit Register on Main page --> 

<%@ page language="java" 
    contentType="text/html; charset=windows-1256" 
    pageEncoding="windows-1256" 
%> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
<head><title>Client's Regsitration page</title> 
<link rel="stylesheet" 
     href="./css/styles.css" 
     type="text/css"/> 
</head> 
<body> 


<h1>Client's Regsitration page</h1> 
<h1> 
Let's register you to MyAmazon Online 
</h1> 

<!-- JS Code to make sure that the user MUST enter something in the login page --> 
<script> 
function verifyEmpty() 
{ 
    var first = document.forms["reg"]["firstName"].value; 
    var last = document.forms["reg"]["lastName"].value; 
    var addr = document.forms["reg"]["address"].value; 
    var idnum = document.forms["reg"]["idNumber"].value; 
    var username = document.forms["reg"]["username"].value; 
    var password = document.forms["reg"]["password"].value; 

    alert("I'm in!"); 

    if (username == null || username == '' || password == null || password == '' || 
      first == null || first == '' || 
      last == null || last == '' || 
      addr == null || addr == '' || 
      idnum == null || idnum == '') 
    { 
     alert("All fields are required , please fill them all!"); 
     return false; 
    } 
    return true; 
}  
</script> 

<fieldset> 
    <legend>Please fill in the followings :</legend> 
    <form action="RegisterAmazon_after" onsubmit="return verifyEmpty(this)" id="reg"> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> First-name: </strong> <input type="text" name="firstName"><br> </p> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Last-name : </strong> <input type="text" name="lastName"><br> </p> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Address : </strong> <input type="text" name="address"><br> </p> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> ID-number : </strong> <input type="text" name="idNumber"><br> </p> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Username : </strong> <input type="text" name="userName"><br> </p> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Password : </strong> <input type="password" name="password"><br> </p> 
    <input type="submit" value="Register me!"> 
    </form> 
</fieldset> 

</body></html> 

Когда я представить пустой из, то onsubmit тег не получает вызова. Предупреждение I'm in, также не работает.

Что я делаю неправильно?

+0

проверить 'onSubmit = "возвращение verifyEmpty (это)"' 'с функцией verifyEmpty()'. Вам необходимо объявить свой параметр функции соответствующим образом. –

ответ

2

Некоторые Опечатки, просто установил его:

Форма должна иметь "REG" в качестве имени, а не ID:

<form action="RegisterAmazon_after" onSubmit="return verifyEmpty(this)" name="reg"> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> First-name: </strong> <input type="text" name="firstName"><br> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Last-name : </strong> <input type="text" name="lastName"><br> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Address : </strong> <input type="text" name="address"><br> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> ID-number : </strong> <input type="text" name="idNumber"><br> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Username : </strong> <input type="text" name="userName"><br> 
    <p style="font-size:15px"> <span style="color:red;font-weight:bold;">*</span> <strong> Password : </strong> <input type="password" name="password"><br> 
     <input type="submit" value="Register me!" name="submit" /> 
    </form> 

и (Username вместо имени пользователя)

function verifyEmpty() 
{ 
    var first = document.forms["reg"]["firstName"].value; 
    var last = document.forms["reg"]["lastName"].value; 
    var addr = document.forms["reg"]["address"].value; 
    var idnum = document.forms["reg"]["idNumber"].value; 
    var username = document.forms["reg"]["userName"].value; 
    var password = document.forms["reg"]["password"].value; 

    alert("I'm in!"); 

    if (username == null || username == '' || password == null || password == '' || 
      first == null || first == '' || 
      last == null || last == '' || 
      addr == null || addr == '' || 
      idnum == null || idnum == '') 
    { 
     alert("All fields are required , please fill them all!"); 
     return false; 
    } 
    return true; 
} 
+0

+1 для результатов, @OP, если вы все еще сталкиваетесь с проблемой, см. Консоль браузера и предоставляете ошибки, которые вы получаете. –

+0

@Axel Amthor: Большое спасибо! – ron

1

JSfiddle -> Ответьте на ваш вопрос

http://jsfiddle.net/kDLWA/9/

username необходимо изменить, чтобы userName и вам не требуется использовать this

Надеются, что это помогает

Смежные вопросы