Проверка поля формы Javascript не работает? - PullRequest
0 голосов
/ 11 ноября 2010

я делаю простой веб-сайт для университетского проекта, и одно из требований заключается в том, что у меня есть javascript для проверки ввода полей формы.Я реализовал то, что я считаю рабочим решением (снял его с веб-сайта W3C), но, похоже, оно вообще не будет работать?

Страница HTML выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Rubber Toy Dept. Inc. Ltd.</title>
    <link href="css/layout.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="scripts/java/validation.js"></script>
</head>

<body>
    <div  id="wrapper">
        <div id="header">
            <h1 id="headlines">Rubber Toy Dept. Inc. Ltd. </h1>
        </div>

        <div id="content">
            <div id="content-main">
                <form action="mailto:gt70@hw.ac.uk" onsubmit="return validate_form(thisform)"  method="post">
                    <table width="858" border="0px">
                        <tr>
                            <td>
                                <input type="checkbox" name="cb1" value="1"></input>
                            </td>
                            <td>
                                Daniel
                            </td>
                            <td>
                                &pound;90
                            </td>
                            <td>
                                <a href="productpages/daniel.xhtml"><img src="pics/daniel_sml.jpg" width="75" height="75" alt="Daniel"></img></a>
                            </td>
                        </tr>
                              <tr>
                            <td>
                                <input type="checkbox" name="cb2" value="1"></input>
                            </td>
                            <td>
                                Graeme
                            </td>
                            <td>
                                &pound;80
                            </td>
                            <td>
                                <a href="productpages/graeme.xhtml"><img src="pics/graeme_sml.jpg" width="75" height="75" alt="Graeme"></img></a>
                            </td>
                          </tr>
                              <tr>
                            <td>
                                <input type="checkbox" name="cb3" value="1"></input>
                            </td>
                            <td>
                                Lewis
                            </td>
                            <td>
                                &pound;10
                            </td>
                            <td>
                                <a href="productpages/lewis.xhtml"><img src="pics/lewis_sml.jpg" width="75" height="75" alt="Lewis"></img></a>
                            </td>
                          </tr>
                              <tr>
                            <td>
                                <input type="checkbox" name="cb4" value="1"></input>
                            </td>
                            <td>
                                Conor
                            </td>
                            <td>
                                &pound;1 (bargain!)
                            </td>
                            <td>
                                <a href="productpages/conor.xhtml"><img src="pics/conor_sml.jpg" width="75" height="75" alt="Conor"></img></a>
                            </td>
                          </tr>
                        </table>

                    <table width="858" border="0px">
                        <tr>
                            <td>
                                Username
                            </td>
                            <td>
                                <input type="text" name="username" id="username"></input>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                E-mail Address
                            </td>
                            <td>
                                <input type="text" name="email" id="email"></input>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                Address
                            </td>
                            <td>
                                <input type="text" name="address" id="address"></input>
                            </td>
                        </tr>
                        <tr>
                            <td></td>
                            <td>
                                <input type="submit" name="submit" value="submit"></input>
                            </td>
                        </tr>
                    </table>
                </form>
            </div>

            <div id="w3c">
                <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" /></a>
            </div>

            <div id="footer">
                <i>Coded and Designed by G.A Tinsdale, D. Scott and L. Mclean</i>
                </div>
            </div>

            <div id="bottom">
        </div>
    </div>  
</body>

и файл Javascript содержит:

function validate_required(field,alerttxt)
        {
            with (field)
            {
                if (value==null||value=="")
                {
                    alert(alerttxt);
                    return false;
                }
                else
                {
                    return true;
                }
            }
        }

        function validate_form(thisform)
        {
            with (thisform)
            {
                if (validate_required(email,"Email must be filled out!")==false)
                {
                    email.focus();
                    return false;
                }

                if (validate_required(username,"Username must be filled out!")==false)
                {
                    username.focus();
                    return false;
                }

                if (validate_required(address,"Address must be filled out!")==false)
                {
                    address.focus();
                    return false;
                }
            }
        }

Извините, если я неправильно выложил код ... Я не понимаю, как это сделать правильно:(

Спасибо за любую помощь

Даниил.

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Обновление:

В вашем файле проверки есть ошибка 404, как правильно заметил @Matthew Wilson:

<script type="text/javascript" src="script/java/validation.js">
       ----------------------------------------^

Убедитесь, что вы указалиправильный путь и файл существует.


Проблема здесь:

onsubmit="return validation.js:validate_form(thisform)"

Должно быть:

onsubmit="return validate_form(thisform)"
0 голосов
/ 11 ноября 2010

При просмотре URL-адреса, который вы указали, все теги сценария неверны

Строка 7

<script type="text/javascript" src="script/java/validation.js">

Должна быть

<script type="text/javascript" src="script/java/validation.js"></script>

Строка 8

<script>

должно быть

<script type="text/javascript">

И удалить лишний тег script в строке 50

</script>
0 голосов
/ 11 ноября 2010

Вы включили файл скрипта на странице: <script type="text/javascript" src="validation.js"></script>.Затем удалите validation.js: из отправки формы ... это не нужно.Если это все еще не работает, так что отладка.Вставьте предупреждение («форма отправлена») в функцию проверки формы и посмотрите, срабатывает ли она.Если нет, вам нужно выяснить, почему, и если это произойдет, поместите предупреждение вниз по дереву функций, чтобы узнать, что происходит.

...