0

名前のテキスト フィールドが空かどうかを確認しようとしています。もしそうなら、「あなたの名前を入力してください」というdivを表示したいと思います。私はテストを行い、name='name'. しかし、その後、他に何もポップアップしません。

function validate(input, name) {
if(name=='name') {
        if(input==null || input=="") {
            name.style.visibility='visible';
            alert("please enter a value");
        } else {
            alert("valid entry.");
        }
    }
}

アラートボックスで入力を印刷すると、何も含まれていません。したがって、それが null または "" であることはわかっています。これが機能するように修正するにはどうすればよいですか?

ここに私のテキストフィールドがあります:

<input type="text" name="name" id="name" onblur="javascript: validate(this.value, this.id);" required />
    <div id="name" style="visibility:hidden; float:right;">Please fill in a name!</div>
4

1 に答える 1

1

このjavascript:プロトコルは、URL に Javascript がある場合にのみ使用されます。イベント ハンドラーでは使用しないでください。

同じ ID を持つ 2 つの要素を持つことはできません。ID は一意である必要があります。

XHTML には、値のない属性はありません。required="required"だけではなく使用する必要がありますrequired

null の値を確認する必要はありません。テキスト フィールドの値が null になることはありません。

メソッドを使用してgetElementById、ID から要素を検索します。

function validate(input, name) {
  if (name == 'name') {
    if (input == '') {
      document.getElementById('nameInfo').style.visibility = 'visible';
      alert("please enter a value");
    } else {
      alert("valid entry.");
    }
  }
}

<input type="text" name="name" id="name" onblur="validate(this.value, this.id);" required="required" />
<div id="nameInfo" style="visibility:hidden; float:right;">Please fill in a name!</div>
于 2012-04-26T00:01:29.117 に答える