2009-08-29 61 views

回答

1

您可以通过JavaScript提交表单数据,但不使用window.location.href。更改URL位置总是会发出GET。

您需要从DOM中获取表单的引用,然后对其发出submit()调用。

8

您可以使用Ajax请求(或使用隐藏表单) - 在这种情况下;

MooTools例如:

new Request({ 
    url: 'hanteraTaBortAnvandare.php', 
    method: 'post', 
    data: { 
     'id': '10' 
    }, 
    onComplete: function(response) { 
     alert(response); 
    } 
}); 

jQuery例如:

$.ajax({ 
    type: 'post', 
    url: 'hanteraTaBortAnvandare.php', 
    data: 'id=10', 
    success: function(response) { 
     alert(response); 
    } 
}); 

当然,你可以做到这一点无需外部库,但它们可以简化很多!

+0

+1的代码示例。您可能会考虑包含MooTools的链接。 – 2009-08-29 09:15:50

14

最简单的方法是只在你的页面的表单:

<form method="POST" action="hanteraTaBortAnvandare.php" id="DeleteUserForm"> 
<input type="hidden" name="id" value="10" /> 
</form> 

然后你只需发布形式:

document.getElementById("DeleteUserForm").submit(); 
+0

是的,但在发送表单之前,我希望'alert()'用户符合(是或否)发送表单。 – Johan 2009-08-29 09:21:04

+2

这很容易,只需在if语句中使用确认:if(window.confirm('Vill du verkligen raderaanvändaren?')){post post ...} – Guffa 2009-08-29 09:49:23

+0

这应该是答案。 – 2015-06-15 18:58:47

9

您可以使用一个表格,然后document.getElementById('id_of_the_form').submit();

这个表格不需要写成纯HTML:你可以用它创建它:

 function postIt() { 
     form = document.createElement('form'); 
     form.setAttribute('method', 'POST'); 
     form.setAttribute('action', 'someURL'); 
     myvar = document.createElement('input'); 
     myvar.setAttribute('name', 'somename'); 
     myvar.setAttribute('type', 'hidden'); 
     myvar.setAttribute('value', 'somevalue'); 
     form.appendChild(myvar); 
     document.body.appendChild(form); 
     form.submit(); 
} 
1
+1

请不要提供“w3fools”(请google的)参考资料,其封闭的(非维基类型)表格不提供高质量的知识。 – Marecky 2013-10-02 09:47:36

+0

替代链接:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest – 2014-03-30 04:37:43