Javascript変数を非表示の入力値に取得する際の問題
-
03-07-2019 - |
質問
div(jquery ui)をドラッグしてサイズ変更できるシステムを作成して、位置とサイズをcssファイルに保存しようとしています。
すでに1つのdivでシステムが動作するようになりましたが、複数のdivをサポートするようにシステムを更新しようとしたため、問題が発生しました。
ソース: http://ezmundorf.110mb.com/problem.txt (いですが、私はほとんどのものがどのように機能するか試しています)
#update divをクリックすると、ページが空白になり、ページのソースがフォーム開始タグのみになります。 Firefoxは読み込み中のグラフィックを表示しているため、ページは何かを実行しようとしています。
非表示の入力フィールドを書き込む行を削除すると、保存ボタンが表示されますが、ブラウザが何かを実行し続けるだけなので、javascriptに何か問題があります。
このような「このコードを修正してください」などを投稿してすみませんここで質問しますが、コード全体なしでそれを説明する方法がわからず、どこにも答えが見つかりませんでした。
解決
ご覧のように、ページ全体を上書きせずにページの読み込みが完了した後、 document.write
を使用することはできません。
いくつかのコンテナで .innerHTML
を使用する必要があります。例:
$('myDiv').innerHTML = '<form>...</form>';
またはDOMメソッドを使用:
var form = document.createElement('form');
var body = document.getElementsByTagName('body')[0];
body.appendChild('form');
他のヒント
ページの読み込みが完了した後は、document.writeを使用できません(たとえば、 $(document).ready
を含むイベントハンドラーで)。代わりに、jQueryメソッド .html(val)
を使用できます。 a>既存の要素の内容を変更するか、他の jQuery操作メソッド。