レイアウトが崩れる例と崩れない例のサンプルを作成しました。
以下ソース
実行画面

↑崩れない例
↓崩れた例

innerHTMLを書き換えたfunctionが終了した時点で変更が反映され、レイアウトが決まりますが、その時点でinputのvalueに文字列が入っているとinputはvalueの長さに応じて広げられてしまうようです。
それを回避するためには、レイアウトが決まるまではvalueはカラにしておき、setTimeoutによって時間差でvalueを代入するか、最初からinnerHTMLを使わずにcreateElementなどを使えば良いようです。
0 件のコメント:
コメントを投稿