2009-03-04 6 views
0

Ich versuche, ein System zu erstellen, wo Sie divs (jquery ui) ziehen und skalieren und dann die Positionen und Größen in eine CSS-Datei speichern können.Problem, Javascript Variable zu versteckten Eingabewert

Ich habe bereits das System mit einem Div arbeiten, aber jetzt, wo ich versuchte, das System zu aktualisieren, um mehrere divs zu unterstützen, stieß ich auf ein Problem.

Die Quelle: http://ezmundorf.110mb.com/problem.txt (Es ist hässlich, aber ich bin ziemlich einfach nur ausprobieren, wie das Zeug funktioniert).

Wenn ich auf das Divisor #update klicke, wird die Seite leer und die Quelle für die Seite ist nur das Start-Tag des Formulars. Die Seite versucht etwas zu tun, da Firefox die Ladegrafik anzeigt.

Wenn ich die Zeile entfernen, die die ausgeblendeten Eingabefelder schreibt, bekomme ich die Schaltfläche zum Speichern, aber trotzdem ist etwas mit dem Javascript nicht in Ordnung, da der Browser einfach weitermacht.

Es tut mir leid, eine solche "diesen Code für mich beheben" -Frage hier zu schreiben, aber ich weiß nicht, wie ich es ohne ganzen Code erkläre und ich konnte nirgendwo eine Antwort finden.

Antwort

0

Sie können document.write nicht verwenden, nachdem die Seite geladen wurde, ohne dass die gesamte Seite überschrieben wird, wie Sie sehen.

Sie sollten .innerHTML auf einige Behälter verwenden, zum Beispiel:

$('myDiv').innerHTML = '<form>...</form>'; 

oder DOM-Methoden verwenden:

var form = document.createElement('form'); 
var body = document.getElementsByTagName('body')[0]; 

body.appendChild('form'); 
0

Sie können document.write nicht verwenden, nachdem die Seite vollständig geladen wurde (z. B. in einem Event-Handler, einschließlich $(document).ready). Stattdessen können Sie mit der jQuery-Methode .html(val) den Inhalt eines vorhandenen Elements ändern oder neue Elemente mit den anderen Methoden in das DOM einfügen.

+0

Dank! Habe es mit dieser Lösung arbeiten, aber jquery HTML-Funktion scheint das HTML innerhalb des div zu ersetzen und ich brauche es, um mehr HTML hinzuzufügen, nicht zu ersetzen, da ich es in einer Schleife verwende. –

+0

Verwenden Sie dann $ (theDiv) .app (newHTML). – Miles