我知道标题很奇怪,但我想不出一种简洁的说法:
此代码创建表单并提交到URL:
function post_to_url( path, params, method ) {
method = method || "post"; // Set method to post by default if not specified.
// The rest of this code assumes you are not using a library.
// It can be made less wordy if you use one.
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
//form.setAttribute("target", "_blank");
for ( var key in params ) {
if ( params.hasOwnProperty(key) ) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
}
如您所见,我已注释掉target
属性。
我有以下代码调用函数:
var params = new Array();
params["param1"] = param1;
params["param2"] = param2;
post_to_url('newTask.php', params, "get");
如果我将目标属性设置为_blank
,那么它会打开一个新选项卡,该功能正常工作,我可以在网址栏中看到我的参数。
但是,如果我删除target
属性(我更喜欢),似乎页面只是刷新。 URL中没有参数,页面不会像接收到数据一样。
有人可以帮我跟踪吗?
答案 0 :(得分:0)
尝试使用:
form.setAttribute("target", "_self");