所以,我知道这是一个奇怪的问题。我有2页,有人用一堆输入填写。下一页将是"打印到pdf"输入w / Coldfusion。但是,我希望将所有信息发送到下一页,而不是丢失输入数据的人所输入的内容。有没有办法使用jQuery(或CF中的其他选项,我还没有看到)可能抓住$('body')
并将其传递到下一页的sub in,以便保留<input>
值?我不想做表单提交,因为有很多计算也是基于那些使用javascript显示的输入而发生的,<cfdocument>
在事后发生了javascript问题。< / p>
答案 0 :(得分:3)
我会使用jQuery's serializeArray序列化所有表单输入值,并将其存储在localStorage中。在下一页中,只需读取localStorage并使用JSON.parse将数据解析回对象。
第1页:
localStorage.formData = $("form").serializeArray()
第2页:
var formData = JSON.parse(localStorage.formData)
... aaaand你将在第2页的对象中获取所有数据。
答案 1 :(得分:1)
好的,所以本地存储的元素数据有效,但我实际做的方式是将$('body').html()
写入字符串,使用$.ajax()
将其传递给cfc文件,在那里我写了一个使用<cffile>
将文本文件复制到CF临时目录,然后使用<cfinclude>
将该文本重新呈现为PDF页面上的HTML / CFML。希望这可以帮助他人,如果他们需要它!
答案 2 :(得分:0)
您可以缓存数据以便在CFML中的其他页面上使用。我使用Railo执行此操作,但Adobe CF具有类似的功能。我想在下一页上使用的任何数据都会进入结构数组。我没有尝试过cacheput('formdata',form),但似乎它会起作用。
Page 1
// Empty cache storage
cacheClear();
// call the function to cache data
cachePut('cData', data);
Page 2
// get items from the cache
data = cacheGet('cData');