html5 プレースホルダーを使用した入力ボックスがあります。
<input type="text" name="website" class="url" required placeholder="enter website">
jQuery またはストレートな JavaScript を使用して、フォーカスのあるユーザーが入力するデータの先頭に文字列を追加したいと考えました。フィールドに事前設定された文字列変数 (例: http://example.com )よりも多くのデータが含まれている場合、フィールドは私の要件を満たしています。元の文字列 ('http://') のみが含まれている場合は、入力値をクリアしてプレースホルダーを表示します。
次のコードは私にとってはうまくいきます。
var input = $("#processor .url");
var prefix = 'http://';
input.focus(function() {
if (input.val().indexOf(prefix) == -1) {
input.val(prefix + input.val());
}
}).blur(function() {
if (input.val() == prefix) {
input.val('');
}
});
パフォーマンスなどのためにこれを書くより良い方法はありますか...、私の本当の質問ですか?