将Javascript变量转换为隐藏输入值时出现问题
-
03-07-2019 - |
题
我正在尝试创建一个系统,您可以在其中拖动和调整div(jquery ui),然后将位置和大小保存到css文件中。
我已经让系统使用了一个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)
更改现有元素的内容,或使用其他 jQuery操作方法。
不隶属于 StackOverflow