input type = "text"フィールドがあり、広くサポートされていないHTML5プレースホルダープロパティをデフォルトのテキストの背景画像に置き換えようとしています。
また、JavaScriptでは、フォームがフォーカスを受け取ったときに背景画像を削除し(ユーザーがフィールドに入力したテキストが背景画像のテキストと重ならないように)、入力がフォーカスを失ったときに背景画像を置き換えます(私はonBlur
イベント)。
これは、ユーザーが入力フィールドにテキストを入力し、このテキストを送信せずに別のページに移動し、ブラウザの前のページに戻るボタンを押すと、ページが再読み込みされますが、前のテキストでは送信されなかったことを除いて、正常に機能します。まだ背景画像の上の入力フィールドにあります。
ページの読み込み時にフォームに値があるかどうかを確認し、値がある場合は背景画像を削除してこれを修正しようとしましたが、この部分は機能しません。
<input type="text" id="food" onLoad="if(this.value!=''){this.style.backgroundImage='none';}" onFocus="this.style.backgroundImage='none';" onBlur="if(!this.value){this.style.backgroundImage='url(pics/m_form_post.png)';}" name="food"/>
私は可能な解決策を受け入れています。