单击生成发票按钮时,将在新窗口中打开发票。
以下是示例代码。 例如
<form name="invoice" action="inv_rec.php" method="post" id="inv" target="invoices" onsubmit="return check_counter();" >
<table>
<tr>
<td>
<label for="cusname"><strong>Customer Name* </strong></label>
<input type="text" size="20" name ="cusname" value="" id="Customername" required/>
</td>
<td>
<label for="for_place"><strong>Place</strong></label>
<input type="text" size="20" name ="for_place" value="" id="for_place" />
</td>
</tr>
........
<tr>
<td>
<input type="submit" value="Generate Invoice" name="submit" id="sub">
</td>
</tr>
</table>
</form>
<script>
var counter = 1;
function check_counter()
{
if(counter == 1)
{
alert("Please enter the product details");
return false;
}
window.open('', 'invoices', 'width=650,height=800,status=yes,resizable=yes,scrollbars=yes');
return true;
}
</script>
在我的示例中,页面将被重定向到inv_rec.php(在新窗口中打开),其中包含从mysql获取的动态生成的数据,用户需要在其中打印它。 我想清除在上一个窗口中打开的所有表单数据(显示发票表单,即用户填写数据以生成发票)。
答案 0 :(得分:2)
提交表单后重定向页面。
header('location:redirect.php');
或取消设置表单中的变量
在Jquery中:
$('#form_id')[0].reset();
答案 1 :(得分:0)
您可以使用javascript或jquery来实现此目的
在javascript中
document.getElementByName("invoice").reset();
在jquery中
$("#formId").reset();
在表单中添加ID以使用此
<form name="invoice" id="invoice" action="generate_invoice.php" method="post" target="_blank">
答案 2 :(得分:0)
由于某人可能只是禁用了javascript并且仍在发布您的表单,我认为依靠JS为您进行清理是不安全的。
我建议您查看post/redirect/get pattern。
答案 3 :(得分:0)
你的问题不太清楚?你是否正在清除表单字段,以便为另一组新输入做好准备?如果是这样,你可以在调用java脚本中的window.open()方法之前调用reset。 像这样的东西:
<script>
var counter = 1;
function check_counter()
{
if(counter == 1)
{
alert("Please enter the product details");
return false;
}
$('#formid).reset(); //assuming you are using jquery
window.open('', 'invoices','width=650,height=800,status=yes,resizable=yes,scrollbars=yes');
return true;
}
</script>