1

入力フィールドにプロンプ​​トを追加する最良の方法に関するチュートリアルを見つけました。ここで 私はそれが言うことすべてをしましたが、それでもうまくいきません...

$(document).ready(function(){
    $('input[type=text][title],input[type=password][title],textarea[title]').each(function(i){
    $(this).addClass('input-prompt-' + i);
    var promptSpan = $('<span class="input-prompt"/>');
    $(promptSpan).attr('id', 'input-prompt-' + i);
    $(promptSpan).append($(this).attr('title'));
    $(promptSpan).click(function(){
        $(this).hide();
        $('.' + $(this).attr('id')).focus();
    });
    if($(this).val() != ''){
        $(promptSpan).hide();
    }
    $(this).before(promptSpan);
    $(this).focus(function(){
        $('#input-prompt-' + i).hide();
    });
    $(this).blur(function(){
        if($(this).val() == ''){
            $('#input-prompt-' + i).show();
        }
    });
});

});

私が見つけられなかったこのコードに何か問題がありますか? 確かにjsFiddleを作成しましたが、どちらも機能しません...

4

2 に答える 2

1

html プレースホルダー属性を使用しないのはなぜですか?

<input type="text" id="fname" placeholder="First name">

これにより、表示中の要素にプロンプ​​ト テキストが追加されます。このjsfiddle の例を参照してください。

于 2013-09-09T12:27:18.873 に答える
0

はい、わかった。問題の原因はまったく異なっていました。スクリプトにいくつかのアラートを追加しましたが、スクリプトが実行されていないことがわかりました。次に、このスクリプトの前に実行された別のスクリプトにエラーが見つかりました。エラーにより JS 全体が終了したため、このスクリプトは実行されませんでした。エラーを修正したら、問題なく動作しました!

于 2013-09-09T13:06:24.960 に答える