我有一些JavaScript会POST到一个新窗口,以便向我展示我正在工作的内容的预览。这基本上就是我在做的事情:
$(document).ready(function () {
$("#previewButton").click(function () {
$("#previewform").remove();
var form = document.createElement("form");
form.setAttribute("id", "previewform");
form.setAttribute("method", "post");
form.setAttribute("action", "/Home/Preview");
form.setAttribute("target", "formresult");
var bodyField = document.createElement("input");
bodyField.setAttribute("type", "hidden");
bodyField.setAttribute("name", "Body");
bodyField.setAttribute("value", $("#Body").val());
var nameField = document.createElement("input");
nameField.setAttribute("type", "hidden");
nameField.setAttribute("name", "Slug");
nameField.setAttribute("value", $("#Slug").val());
var titleField = document.createElement("input");
titleField.setAttribute("type", "hidden");
titleField.setAttribute("name", "Title");
titleField.setAttribute("value", $("#Title").val());
form.appendChild(bodyField);
form.appendChild(nameField);
form.appendChild(titleField);
document.body.appendChild(form);
window.open("/Home/Preview", 'formresult', 'scrollbars=yes,menubar=yes,height=600,width=800,resizable=yes,toolbar=yes,status=yes');
form.submit();
});
});
这很好用。我注意到一件奇怪的事情是,当我在内容中加入一些嵌入式的要点时,那些不会出现在Chrome中。它们确实出现在IE浏览器中。
这是Chrome错误(或功能),还是我做错了什么?
答案 0 :(得分:1)
以更短的形式尝试(我已经单独移动id以压缩列表):)
$(document).ready(function () {
$("#previewButton").click(function () {
$("#previewform").remove();
window.open("/Home/Preview", 'formresult',
'scrollbars=yes,menubar=yes,height=600,width=800');
$("<form method='post' action='/Home/Preview' target='formresult'/>")
.attr('id', 'previewform')
.append($("<input type='hidden' name='Body'/>").val($("#Body").val()))
.append($("<input type='hidden' name='Slug'/>").val($("#Slug").val()))
.append($("<input type='hidden' name='Title'/>").val($("#Title").val()))
.appendTo('body')
.submit();
});
});