であれば、私は1 text box
を持っていると私はそのtext box
上のデータを入力していますテキストボックスを自動リフレッシュ、私は何をしたいです:私は4 characters
に入り、skip that text box by pressing TAB key
はその後、1つのアラートが、その後"data should be more than 4 characters"
とテキストとして来るかどうボックスはauto refreshed
になります。入力されたデータが4文字以上の場合、警告は表示されません。私はonkeyupイベントで試していましたが、間違っている箇所があります。助けてください警告と長さが4
警告と長さが4
答えて
「テキストボックスが自動更新される」という意味がわからないので、そのフィールドにカーソルを戻したいと思うでしょう。限りアウトタブ移動するときに.change()
や.blur()
イベントをしたい値の長さをチェックなど:
$("input[type=text]").change(function() {
if (this.value.length <= 4) {
alert("Please enter more than 4 characters.");
this.focus();
return false;
}
});
blurイベントは、フォーカスがフィールドを離れるたびにトリガされます。変更イベントは、ユーザーが変更せずにフィールドからすぐに外に出ると再びトリガーされません。私はフォームの送信時に追加の検証と組み合わせて変更を使用する方がいいので、ユーザーはアラートで悩まされることはありません(実際はアラートを表示しませんが、フィールドに)。
どのように約blur
?
var el = $('#textbox').blur(function(e) {
if (el.val().length > 4) {
return;
}
el.focus();
alert('data should be more than 4 characters');
});
この技術は、ユーザーエクスペリエンスの低下になりことに注意してください。要素とインラインでメッセージを表示することは、ユーザーが他のものとやりとりするのを防ぐよりも望ましいことです。
お返事ありがとうございました。あなたの回答をよく聞かせてください。 – Tom
あなたは興味深い可能性がありますいくつかのポイントがあります。
はい、あなたは正しいです、私はjavascriptにのみ頼るべきではない、どのように私はこの 'javascriptをオフに'問題を解決することができますか? – Tom
@Tomサーバー側の言語で検証できます(私のお気に入りはPHPですが、他にもたくさんあります)。しかし、この余分な措置は、物事を注入することがあなたのために大きな問題になる生死の状況のときに使用してください。 – ajax333221
「生死のとき」? _常にサーバー側のコードで検証する必要があります。 – nnnnnn
「自動更新」とはどういう意味ですか? – ajax333221
あなたのコードを表示できますか? –
@ ajax333221自動更新は、単にテキストボックスが再び空になり、ユーザーがそのテキストボックスにデータを再度入力する必要があることを意味します。入力されたデータが4文字以上の場合はすべて正常ですが、入力されたデータが4または4未満の場合は、警告が表示され、テキストボックスも空になります – Tom