0

同じ入力の情報でフォームを作成しようとしています。すべての入力で問題なく機能しますが、パスワードでは、ユーザーがパスワードを入力したときにポイントに変更できるとよいでしょう。ユーザーがパスワードを入力した場合にのみ、テキストを入力し、パスワードを入力するように変更します。問題はコードの最後の行にあります。

私はここに人生を持っています:http://jsfiddle.net/Nt9gx/

<form> 

<input type="text" name="name" value="name" 
    onfocus="if (this.value=='name') this.value = '';" 
    onblur="if (this.value=='') this.value = 'name';"  
/>

<input type="text" name="password" value="password"   
    onfocus="if (this.value=='password') this.value = '' type = password;" 
    onblur="if (this.value=='') this.value = 'password';"
           "if (this.value!=''|| 'password') type = password ;" 
/>

</form>
4

3 に答える 3

3

HTML5プレースホルダーを使用する

placeholder作業を完了するには、次のようにHTML5属性を使用する必要があります。

<input type="password" name="password" placeholder="Password">

これがするように:

  • テキストが挿入されていないとき、またはすべてのテキストが再度削除された場合は、プレースホルダーを表示します
  • パスワードフィールドにもテキストが表示されます
  • JavaScriptを使用する必要はありません

ところで:

  • onblur最後の入力で2回使用した場合、これは1回だけ発生するはずです
  • 最後の行は構文的に間違っています。パスワード'という単語を(二重引用符)ではなく(一"重引用符)でエスケープする必要があるためです。(質問が更新されました)
  • password最後の行は、で呼び出された未定義の変数を使用しています|| password)
  • type="password"入力は「非表示」になるため、パスワードを処理する入力フィールドに使用します

ノート:

それでもJavaScriptを使用する場合は、 -属性を更新するだけで、入力をフォーカス内からに変更し、イベントをぼかしtype="text"ます。type="password"type

これがあなたがそれをすることができる方法です:

<input type="text" name="password" value="password"   
    onfocus="if (this.value == 'password') { this.value = '', this.setAttribute('type','password'); }" 
    onblur="if (this.value == '') { this.value = 'password', this.setAttribute('type','text'); }"
>

デモ: http: //jsfiddle.net/2Ps8N/ </ p>

于 2012-10-24T11:39:30.390 に答える
0
<input type="text" name="name" value="name" 
    onfocus="if (this.value=='name') this.value = '';" 
    onblur="if (this.value=='') this.value = 'name';"  
/>

<input type="password" name="password" value="password"   
    onfocus="if (this.value=='password') this.value = '';" 
    onblur="if (this.value=='') this.value = 'password';"
    onblur="if (this.value!=''|| password) value = 'password';" 
/>

二重引用符を入力しました!

于 2012-10-24T11:38:20.903 に答える
0

次のようにパスワード入力を変更できます。

<input type="text" name="password" value="password" type="password" 
    onfocus="if (this.value=='password') this.value = '';" 
    onblur="if (this.value=='') this.value = 'password';"
/>

Yoc はさらに条件を追加できますif (this.value=='')が、これだけで実行し、onblur別の条件を記述しないでくださいonblur

あなたthis.value = "password"は間違っている最後の行にあり、'password'代わりに使用する必要があります"password"

最後の if 条件では、password使用する前に定義されていないパラメーターがあります。この前に定義するvar passwordか、この条件を変更する必要があります

于 2012-10-24T11:43:40.320 に答える