1

フォーム送信を作成しようとしていますが、フォームが送信される前に資格情報を確認したいと考えています。

今のところ両方持ってる

XHTML 用にフォーマットされた HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
        <head>
            <title> Registration Form</title>
            <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
            <meta name="description" content="This is a form submission with validation"/>
            <script type="text/javascript" src="validScript.js"></script>
        </head>

        <body>
            <h1>Registration Form</h1>
            <form id="registration" action="" onsubmit="return validation();" method="post" enctype="text/plain">
                <p>Name: <input type="text" name="name" id="name"/></p>
                <p class="error">Email Address: <input type="text" name="emailAddress" id="emailAddress"/></p>
                <p><input type="submit" name="submit" value="Submit"/></p>
            </form>
        </body>

    </html>

JavaScript:

 function validation()
{  
    var vname = document.registration.name;

    if(nameValid(vname))
    {
        return true;
    }
    return false;
}

function nameValid(vname)
{
    var name_len = vname.value.length;
    if (name_len == 0)
    {
        alert("Name is required");
        vname.focus();
        return false;
    }
return true;
}

ユーザーが空の名前を要求したという警告が表示されないという問題があります。名前を検証しようとしています。この後、メールアドレスやその他のフィールドを追加するための関数を追加します。これは後でフォームをドメインに電子メールで送信するために使用されることに注意してください。誰かがこの問題を理解するのを手伝ってくれますか?

ありがとう

4

3 に答える 3

1

検証関数が正しくありません。次のようになります。

function validation()
{  
    var vname = document.getElementById("name");

    if(nameValid(vname))
    {
        return true;
    }
    return false;
}

フォーム要素の値にアクセスするには、document.getElementById( "ElementID")。valueを使用するか、JqueryなどのJavaScriptライブラリを使用します

于 2013-02-26T12:10:08.947 に答える
0

formname = "registration"を追加して、確認します。必要に応じてアラートが表示されます。

理由はdocument.registration.name、登録がIDではなくフォーム名である場合です。

于 2013-02-26T12:07:39.607 に答える
0

jQuery を使用している場合は、次のプラグインをお勧めします。

http://validval.frebsite.nl/

これにたどり着く前に、かなりの数の検証プラグインを試しました。これには広範な検証オプションがあり、ダイアログはあまり派手ではありません。これは、ルックアンドフィールを簡単にカスタマイズできることを意味します。

于 2013-02-26T12:22:27.567 に答える