如何保存提交的HTML表单的服务器端副本
how to save a server-side copy of submitted HTML form?
我们使用HTML表单创建了一个调查问卷。该表单通过一个典型的ajax调用提交,如下所示:
$.ajax({
url: sendResults.attr('action') + "?ajax=true",
type: sendResults.attr('method'),
data: sendResults.serialize(),
success: confirm
});
但是,我们希望将提交的表单HTML的副本保存到服务器(而不是数据库中),以便将其呈现为PDF并附加到从另一个PHP脚本发送的确认电子邮件中。此HTML应包含复选框和单选按钮的"已检查"状态,因为它们已被用户更改。表单中没有文本区域。
这样做的一种方法是通过javaScript选择表单HTML,如下所示:
var html = "<html>" + document.getElementById('myForm').innerHTML + "</html>";
然后通过更改以下行将HTML与表单数据序列化并提交:
data: sendResults.serialize() + "&answers=" + html
然而,这需要ISP为操作PHP脚本覆盖一些防火墙规则,这可能不被认为是好的做法,而且可能存在安全风险!
那么,考虑到"正常"的序列化表单数据只是一个整数数组,是否有任何已知的方法将这些值"应用"到存储在服务器上的默认HTML表单,以获得提交的表单,从而将其呈现为PDF并附加到电子邮件?
提前感谢您的帮助。
尝试对html内容"&answers="+btoa(html)
进行编码
在服务器端对其进行解码。
我还建议使用post-request,而不是使用url参数。
检查此链接如何用JavaScript将字符串编码为Base64?
如果您获得输入的属性和值并将其插入数据库中,该怎么办?它将为您节省一些字节的空间,并使您的数据库表易于阅读和理解,因此当您必须生成PDF时,您可以选择并"重新创建"相同的HTML表单。
我知道现在回答有点晚了,但我希望这能帮助到别人
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 多级HTML表单
- 使用html表单中的参数调用JavaScript函数
- javascript弹出窗口没有正确加载html表单
- Javascript/RegEx未验证HTML表单
- JavaScript”;复制“;HTML表单
- 使用Web Html表单创建Javascript数组
- 用PHP发送html表单和文件附件
- 单击鼠标,用MySQL数据填充html表单输入字段
- 从HTML表单发布blob的表单输入类型是什么
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- JavaScript-HTML表单到JSON(空值)和格式
- HTML表单将数据POST到MySQL
- 获取html表单信息并使用ajax将其推送到PHP
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- javascript,HTML表单:单击按钮插入NULL
- 如何在HTML表单中提交我的下拉选择
- 将HTML表单发布到iframe会导致浏览器历史记录出现问题