0

次の方法でテキストボックスを作成しました

<input type="text"  name="email" id="email" class="text_inp2" value="Email" onclick="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';}" />

したがって、テキストボックスにデフォルトのテキストが表示され、Emailそれを編集すると(つまり、PHP Post関数)送信すると値がadmin@stackoverflow.com投稿されますが、クエリ文字列メソッドを使用したくありません。とにかく、単純な PHP Post 関数を使用してそれを取り除くことができますか。Emailadmin@stackoverflow.com

4

2 に答える 2

4

入力属性を見て、古いブラウザの場合はhttp://widgetulous.com/placeholderjs/placeholderのようなものを含めることをお勧めします。

<input type="text" name="email" id="email" placeholder="Email">

あなたが望む正確な効果があります。

于 2013-03-29T03:27:12.893 に答える
0

あなたが使用することができます:

onchange="
if(this.value === this.defaultValue){
    this.value = '';
}
else if (this.value === '') {
    this.value = this.defaultValue;
}"

または、それらの厄介な古いブラウザーのプレースホルダー属性を使用します…</p>

私が取り組んでいるプロジェクトの 1 つでこれを見つけましたが、機能するかどうかはわかりませんが、モダナイザーをお持ちの場合は、これを試すことができます

if(!Modernizr.input.placeholder){
    $('[placeholder]').focus(function(){
        if($(this).val() === $(this).prop('placeholder')){
            $(this).val('');
            $(this).removeClass('placeholder');
        }
    }).blur(function(){
        if($(this).val() === '' || $(this).val() === $(this).prop('placeholder')){
            $(this).addClass('placeholder');
            $(this).val($(this).prop('placeholder'));
        }
    }).blur();
    $('[placeholder]').parents('form').submit(function(){
        $(this).find('[placeholder]').each(function(){
            if($(this).val() === $(this).prop('placeholder')){
                $(this).val('');
            }
        });
    });
}
于 2013-03-29T03:27:57.053 に答える