2009-08-29 9 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); 
    } 
}); 

!あなたはフォームを使用して、document.getElementById('id_of_the_form').submit();

でき

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

+1を使用できます。あなたはMooToolsへのリンクを含めることを検討するかもしれません。 –

14

最も簡単な方法は、ちょうどあなたのページのフォームを持つことですフォームは平易なHTMLとして書かれる必要はありません:あなたはそれをdinamically作成することができます:

 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(); 
} 
+0

はい、フォームを送信する前に、ユーザーにフォームを送信する(「はい」または「いいえ」)よう警告する必要があります。 – Johan

+2

これは簡単です。単にif文で確認を使用してください:if(window.filename) '{post form ...} – Guffa

+0

これは答えになるはずです。 –

9

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

あなただけのフォームをポスト:

1

コード例としてXMLHTTPRequest() object.

+1

"w3fools"(googleにしてください)の参考資料を提供しないでください。閉じた(非wikiタイプの)フォームは質の高い知識を提供しません。 – Marecky

+0

代替リンク:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest –