这样的运行非常好。
// Save, set state to finalized and Print
$('#btnDialogPrint').click(function () {
if ($('#chkFinal').is(':checked')) {
$(function () {
$("#PrintDialog").dialog('close');
});
}
else {
$('#chkFinal').attr('checked', true); // Set finalized. This checkbox is not visible its like a hidden field
$('#btnSubmit').click(); // Save
}
});
这也运行良好:
window.location = '../Print/' + $('#SalesContractId').val();
但是当我把它们放在一起时它只运行
window.location ='../Print/'+ $('#SalesContractId')。val();
完整代码:
// Save, set state to finalized and Print
$('#btnDialogPrint').click(function () {
if ($('#chkFinal').is(':checked')) {
$(function () {
$("#PrintDialog").dialog('close');
window.location = '../Print/' + $('#SalesContractId').val(); // Moves to ContractController Print
});
}
else {
$('#chkFinal').attr('checked', true); // Set finalized. This checkbox is not visible its like a hidden field
$('#btnSubmit').click(); // Save
window.location = '../Print/' + $('#SalesContractId').val(); // does not alow above code to execute
}
});
答案 0 :(得分:4)
移除点击处理程序中的$(function() { ... });
并将其设置为 ouside :
$(function() {
$('#btnDialogPrint').click(function () {
if ($('#chkFinal').is(':checked')) {
$("#PrintDialog").dialog('close');
window.location.href = '../Print/' + $('#SalesContractId').val();
} else {
$('#chkFinal').attr('checked', true);
$('#btnSubmit').click();
}
});
});
$(function() { ... });
表示document.ready。
据说你似乎在呼唤一些$('#btnSubmit').click();
。请注意,如果此#btnSubmit
实际上是某个表单的提交按钮(正如其ID所示),那么在提交表单时,它会自动将浏览器重定向到表单的action
属性。因此,在这种情况下调用window.location.href
重定向是完全没有意义的。我想你将不得不重新思考你想要达到的目标。