0

これは非常に簡単だと確信していますが、何らかの理由でこれを理解できません。

次のフィールドとルールを使用して、ページにフォームを作成する必要があります。ユーザーがフォームを送信したが、いずれかのフィールドで規則が守られていない場合は、リストされている動作を実行してユーザーに通知する必要があります。jQuery の使用は許可されていません。Field01 & Field02 は 1 つのボックスです。Field03 & Field04 は 1 つのボックスです。

  • Field01: "Username" - Rule01: 空にすることはできません。Behavior01: focus() を使用してフォーカスを当てます。
  • Field02: "ユーザー名" - Rule02: 空にすることはできません。Behavior02: "ユーザー名が必要です" ことをユーザーに警告します。
  • Field03: "Birthyear" - Rule03: 数値である必要があります。Behavior03: select() を使用して値を選択します。
  • Field04: "Birthyear" - Rule04: 1900 年から 2012 年の間である必要があります。 Behaviour04: Birthyear テキスト ボックスの背景色を黄色にします。

これは私がこれまでに持っているものです... Field03とField04に苦労しています。

これにアプローチする方法を知っている人はいますか?

HTML:

<!DOCTYPE html>

<html>
    <head>
        <script defer="defer" type="text/javascript" src="dawid_spamer_Assign01.js"></script>

    </head>
    <body>

        <div id="div1">
            <form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post">
            Username: <input type="text" id="username" name="username"><br>       
            Birth Year: <input type="select" id="birthYear" name="birthYear"><br><br>
             <input type="submit"  value="Submit">

            </form></div>

        <div id="div2">
            <img src="cat.jpg"    id="im1" name="image1"/>
            <img src="dog.jpg"    id="im2" name="image2"/>
            <img src="fish.jpg"   id="im3" name="image3" class='double'/>
        </div></body></html>

別ファイルの JS:

document.getElementById("username").focus(); // focus on text box 

function validateForm(){
var x=document.forms["myForm"]["username"].value;
if (x==""){
    alert("Username Required!");
            // focus on text box
    document.getElementById("username").focus();  
    return false; // validation failed
}else{
    return true; // validation success  
    }
}
4

2 に答える 2

0

試す

document.getElementById("username").focus(); // focus on text box

function validateForm() {
    var x = document.forms["myForm"]["username"].value;
    if (x == "") {
        alert("Username Required!");
        // focus on text box
        document.getElementById("username").focus();
        return false; // validation failed
    }

    var dob = document.forms["myForm"]["birthYear"];
    var y = dob.value;
    if(!(/^\d+$/.test(y))){
        alert('must be numert');
        dob.select();
        return false;
    }

    return true;
}

デモ:フィドル

于 2013-03-21T05:58:31.873 に答える
0

指定された値が数値でない場合、BirthYear フィールドを強調表示する必要があると思います。これは、JavaScript が提供するselect() メソッドを使用して実現できます。

指定された値が数値かどうかを確認するには、 isNaN() メソッドを使用します。

于 2013-03-21T05:54:09.153 に答える