我正在做一个js文件,我需要在其中发布一个已定义的url。问题是我不能占用,因为这个块jquery javascript代码愤怒在每个用户站点。我需要的是在重定向到发布后的相同URL后阻止发布。
function post(path, parameters) {
var event = window.event;
var form = document.createElement("form");
form.setAttribute('method',"post");
form.setAttribute('action',path);
for (var key in parameters) {
if (parameters.hasOwnProperty(key)) {
console.log(key+parameters[key]);
var valor = document.createElement("input");
valor.setAttribute('type',"hidden");
valor.setAttribute('name',key);
valor.setAttribute('value',parameters[key]);
form.appendChild(valor);
}
}
console.log(form);
form.submit();
event.preventDefault();
}
此event.preventDefault();
无效:(
它不能占用jquery的原因只是因为当这个块进入用户无法依赖的地方时,它们会占用jquery来实现这一点。
答案 0 :(得分:0)
你不能这样做。如果您不想刷新页面,则可能需要使用AJAX。
如果您执行form.submit()
,则页面将刷新。执行event.preventDefault
时,这意味着元素在收到事件时不应执行默认操作,因此不会提交任何内容。
此外,如果您想阻止表单提交,正确的方法是添加一个监听器,如下所示:
form.addEventListener('submit', function(evt){
evt.preventDefault();
});
但是,什么都不会发生。