HTML
<form id="create-template" class="form" action="" method="post">
<p class="_50">
<label for="t-name">Template name</label>
<input type="text" name="t-name" class="required"/>
</p>
<p class="_100">
<label for="t-html">Template HTML</label>
<textarea id="t-html" name="t-html" class="required" rows="10" cols="40"></textarea>
</p>
<div class="block-actions">
<ul class="actions-left">
<li><a class="button red" id="reset-template" href="javascript:void(0);">Clear</a></li>
</ul>
<ul class="actions-right">
<li><div id="preview"><input type="submit" class="button" value="Preview template"></div></li>
<li><input type="submit" class="button" value="Create template"></li>
</ul>
</div>
</form>
JavaScript的:
$("#preview").click(function() {
$('#create-template').submit(function() {
window.open('', 'formpopup', 'width=400,height=400,resizeable,scrollbars');
this.target = 'formpopup';
});
});
按Preview template
时会打开一个弹出窗口,并显示模板的预览。这是正确的。
预览模板后,按Create template
时,页面会提交弹出窗口。这是不正确的。
仅在预览模板时才会出现此问题。除非您预览模板,否则Create template
会在同一页面上提交表单。
如何让preview template
与create template
冲突?
答案 0 :(得分:0)
这一行告诉表单提交到弹出窗口:
this.target = 'formpopup';
将其更改为:
this.target = window.opener;
您可能希望在提交后关闭弹出窗口。为此,请添加以下行:
formpopup.close();