jQuery:将表单发布到模态窗口以预览输入的数据
我正在寻找一种方法来使用jQuery允许用户在提交要保存的表单之前查看表单的模式窗口“预览”。
我使用javascript工作,表单被发布到名为preview.php的文件中,该文件遍历发布的信息。 该脚本当前打开一个新窗口。
我想使用jQuery将表单发布到模态窗口进行预览。 有没有人对如何做到这一点有任何想法?
这就是我目前使用的:
function preview(form) { form.target='_blank'; form.action='http://example.com/preview.php'; form.submit(); }
只需使用http://jquery.malsup.com/表单插件即可。 添加id为’preview’的空div。
$(document).ready(function() { $('#form').ajaxForm({ target: '#preview', url: 'http://example.com/preview.php' }); });
表单将发布到preview.php文件并返回该文件中打印的任何文本。
您需要将表单数据传递给PHP页面…为此,请对表单及其元素进行序列化和字符串化,并将其传递到URL中。
JavaScript / HTML
$.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; function preview(form) { var json = JSON.stringify( $(form).serializeObject() ); var url ='/preview.php?j=' + encodeURIComponent(json); $('#previewDiv').load(url); return(false); }
preview.php
This is a preview using BGColor:
显然你想避免使用内联样式,但你明白了。