Problema recebendo Javascript variável para o valor de entrada escondida
-
03-07-2019 - |
Pergunta
Eu estou tentando criar um sistema onde você pode arrastar e divs redimensionamento (jQuery UI) e, em seguida, salvar as posições e tamanhos para um arquivo css.
Eu já tenho o sistema trabalha com um div, mas agora que eu tentei atualizar o sistema para suportar múltiplas divs, eu corri para um problema.
A fonte: http://ezmundorf.110mb.com/problem.txt ( é feio, mas estou praticamente apenas tentando descobrir como obras stuff).
Quando clico no div #update a página fica em branco e fonte para a página é apenas o tag forma de começar. A página está tentando fazer algo desde firefox está exibindo o gráfico de carga.
Se eu remover a linha do que escreve os campos de entrada ocultos, eu começo a ver o botão salvar, mas ainda há algo de errado com o javascript desde que o navegador só continua fazendo alguma coisa.
Eu sinto muito por postar um tal "corrigir este código para mim" pergunta aqui, mas eu não sei como explicar isso sem código inteiro e eu não conseguia encontrar resposta em qualquer lugar.
Solução
Você não pode usar document.write
depois que a página tem carregamento acabado sem ele substituir toda a página, como você está vendo.
Você deve usar .innerHTML
em algum recipiente, por exemplo:
$('myDiv').innerHTML = '<form>...</form>';
ou métodos de utilização DOM:
var form = document.createElement('form');
var body = document.getElementsByTagName('body')[0];
body.appendChild('form');
Outras dicas
Você não pode usar document.write depois que a página tem carregamento acabado (por exemplo, em um manipulador de eventos, incluindo $(document).ready
). Em vez disso, você pode usar o método jQuery .html(val)
de alterar o conteúdo de um elemento existente, ou inserir novos elementos no DOM com o outro métodos href="http://docs.jquery.com/Manipulation" rel="nofollow noreferrer"> jQuery.