アプリ版:「スタンプのみでお礼する」機能のリリースについて

入力フォームにデフォルト値でガイド的な文字を入れ
フォームクリックでガイド文字が消え、入力できるようになるものを
作りたいのですが
input type="text" のフォームはできましたが
input type="password" のフォームに実装すると
ガイド文字も●●●●と表示されてしまいます。
これを制作するのは無理なのでしょうか?

以下はサンプルで作ったソースです。
-------------------------------------------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>テスト</title>
</head>

<body>

<div class="id_box"><input type="text" name="id" onfocus="if (this.value == 'アカウントID') this.value='';" value="アカウントID"></div>
<div class="pw_box"><input type="password" name="pass" onfocus="if (this.value == 'パスワード') this.value='';" value="パスワード"></div>
</body>
</html>
-------------------------------------------------------------------

たぶんjavascriptだと思うのですがよろしくお願いします。

A 回答 (2件)

javascript DOM関数 element.setAttribute()を使ってはどうでしょう



<script>
<!--
function hide_pwd(pw){
if(pw == 'パスワード'){
document.getElementById("pwd").value ="";
document.getElementById("pwd").setAttribute("type", "password");
}
}
// -->
</script>

<input id="pwd" type="text" name="pass" onfocus="javascript:hide_pwd(this.value);" value="パスワード">
    • good
    • 0
この回答へのお礼

すばらしい回答ありがとうございます。

実装できました。

ちなみにキーボード入力が全角になっていても
ID パスワード入力する時に強制的に半角入力にさせるなんてことは
できないですよね^^;

お礼日時:2009/05/14 17:58

>ちなみにキーボード入力が全角になっていても


>ID パスワード入力する時に強制的に半角入力にさせるなんてことは
>できないですよね^^;

https://developer.mozilla.org/Ja/CSS:ime-mode

そのくらいのことでしたら、というより、フォーム部品に対する表記は label 要素をお勧めします。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …
==================================================================
以下蛇足

・スクリプトの type 属性は必須
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …

・get|setAttribute についての IE 問題
http://nanto.asablo.jp/blog/2005/10/29/123294

通常は、各 interface に用意されたプロパティを使うようにすると、上のような制約を受けなくてすみます。

ただし、type プロパティは DOM Level 1 の時点では読み取り専用です。
http://www.w3.org/TR/2000/WD-DOM-Level-1-2000092 …
http://www.w3.org/TR/DOM-Level-2-HTML/html.html# …

・javascript: ラベルについて。
http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi? …
(リンク先の質問内容は今回とは関係ありませんが、ラベルについては参考になります)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
とても参考になりました。

また何かあった時にはよろしくお願い致します。

お礼日時:2009/05/15 10:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!