您的位置:首页 > Web前端 > JavaScript

js 控制表单提交,target=_blank,窗口被拦截

2013-07-24 12:23 417 查看
<form target='_blank' id="add_build_form" method="POST" action="/zhifubao/buildForm_deposit">
<input type="hidden" name="trade_id"/>
<input type="hidden" name="trade_name"/>
<input type="hidden" name="total_fee"/>
<input type="hidden" name="remark"/>
</form>

表单新开窗口提交正常,但是用js提交时,会弹出拦截信息



浏览器会拦截窗口,是把窗口当成js弹出广告,造成的原因是如果是用户主动触发,一般不会拦截,用js触发的,一般都会拦截。

$.post("/trade/addOrder",query,function(responseData){
var json_data = eval("("+responseData+")");
if(json_data['result'] == "addSuccess"){
$("#addGModal").modal("hide");
var trade_id = json_data['trade_id'];//订单id
var trade_name = json_data['trade_name'];//订单name
var total_fee = json_data['total_fee'];//订单费用
var remark = json_data['remark'];//订单描述
//填充表单数据,支付宝
$("input[name='trade_id']").val(trade_id);
$("input[name='trade_name']").val(trade_name);
$("input[name='total_fee']").val(total_fee);
$("input[name='remark']").val(remark);

$("#add_build_form").submit();
//提示用户点开弹出窗口
var flag = window.open(url,"","");
if(flag==null) {
alert("您的浏览器启用弹出窗口过滤功能!\n\n请暂时先关闭此功能!") ;
}
}
});

$("#add_build_form").submit(); 写在了ajax  post中,肯定会被拦截
如果是用户触发的一个click事件中写$("#add_build_form").submit();,则会正常弹出窗口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: