我试图实现onclick函数,它使用POST方法发送参数。我需要这个函数来重新加载页面,是什么让我使用其他方式而不是AJAX。我有一个函数来执行此操作,但此函数使用jQuery。现在我需要"移植它"纯粹的JavaScript。
jQuery函数:
function domainRemoveConfirmation(id, url) {
//trick to send javascript redirect with post data
var form = $('<form action="' + url + '" method="post" hidden="true">' +
'<input type="text" name="domainId" value="'+ id + '" />' +
'</form>');
$('body').append(form);
$(form).submit();
}
我在纯JavaScript中寻找等效函数,我需要创建元素(带有输入字段的表单),附加它并提交它。
提前致谢!
答案 0 :(得分:5)
你走了:
function domainRemoveConfirmation(id, url){
var myForm = document.createElement('form');
myForm.setAttribute('action', url);
myForm.setAttribute('method', 'post');
myForm.setAttribute('hidden', 'true');
var myInput = document.createElement('input');
myInput.setAttribute('type', 'text');
myInput.setAttribute('name', 'domainId');
myInput.setAttribute('value', id);
myForm.appendChild(myInput);
document.body.appendChild(myForm);
myForm.submit();
};
答案 1 :(得分:3)
var form = '<form name="myform" action="' + url + '" method="post" hidden="true">' +
'<input type="text" name="domainId" value="'+ id + '" />' +
'</form>';
document.body.innerHTML += form;
document.forms.myform.submit();
var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('hidden',"true");
f.setAttribute('name',"myform");
f.setAttribute('action',url);
var i = document.createElement("input"); //input element, text
i.setAttribute('type',"text");
i.setAttribute('name',"domainId");
i.setAttribute('value', id);
f.appendChild(i);
document.getElementsByTagName('body')[0].appendChild(f);
document.forms.myform.submit();