2011-11-08 5 views
0

私はリンクをクリックするとページの送信(投稿)を偽造したいと思う。投稿の2つのパラメータ、id(var以下のコードではx、submit = "true")をページindex.phpに渡す必要があります。私は、AJAXリクエストだけでなく、サブミット(フル・ページ・ロード)を偽造する必要があります。フォームの存在なしでJqueryを使用してリンクをクリックしてページを送信するにはどうすればよいですか?

<a href="#" id="5" class="rootcontent">Title</a> 

$("a.rootcontent").live('click', function(){ 
    var x= $(this).attr("id"); 
    //need the code to submit the page to index.php with two $_POST variables (x and submitted=true) 
    }); 
+0

なぜdownvoteを提出するには? –

答えて

2

簡単な解決策は、ドキュメントにフォームを追加して送信することです。

var form = $('<form method="post" id="form-to-be-submitted" action="/index.php"><input type="hidden" name="x" value="' + x + '"/><input type="hidden" name="submitted" value="true"/></form>'); 
$(document.body).append(form); 
form.submit(); 
+0

私はフォームにIDを与えません。既存のIDと競合する可能性があります。代わりに、フォームをDOMに追加する前に変数に格納し、変数を使用して送信してください。 '$ form = $("

meagar

+0

@meagar私はIDの衝突のケースがあるとは思わないが、それはまだ良いフォームです、私は私の例を更新しました(それは一例として意味された、それはまだテストされていません) 。 – deviousdodo

1

あなたは、次のいずれかを実行できます:(テストし、それが動作するはずではない)、次のようなもの

  • 使用$.post(アヤックス)
  • 提出フォームを追加して扱いますイベントは、xを追加し、
  • はxに対して隠されたフィールドを持つフォームを追加提出し
関連する問題