0

これを使用してonclick='document.forms['form_name'].submit(); return false;'href=results.php?page_no=1ますが、動的リンクがあり、これを機能させるために使用する必要がある例が示されていますhref="#"が、フォームを送信してに移動する方法はありpage2ますか? チェックボックスの値をセッションに保存したいので

4

4 に答える 4

2

class を href (class="pagination") に追加し、id (id="form") をフォームに追加します。次に、このようなものに Jquery フレームワークを使用できます。

$(".pagination").click(function(){  
// get page id, set form action with params
$("#formId").submit();

return false;  
});
于 2013-02-12T20:53:44.210 に答える
0

あなたは悪いデザインをしています。

フォームのクリックで複数の競合するアクションを実行して、それが機能することを期待することはできません。

リンクをクリックして別のページをロードできるようにするか、セッション変数を設定するだけの場合 (ただし、これをクエリ文字列パラメーターまたは Cookie で設定する方がはるかに優れています)、Ajax リクエストを使用できます。それを非同期に送信します。

于 2013-02-12T20:57:22.147 に答える
0

ここでは、テストのために page2 を Google に置き換えました

<a href="#" onclick="document.forms['test'].submit(); return false;">Submit</a>
<form method="get" action="https://www.google.com/search?q=test" name="test">
<input name="Checkbox1" type="checkbox" />
</form>

編集:

<a href="page2.php?page=2" onclick="document.test.action =encodeURIComponent(this.getAttribute('href')); document.forms['test'].submit(); return false;">Submit</a>
<form method="get" action="" name="test">
<input name="Checkbox1" type="checkbox" />
</form>

encodeURIComponent(this.getAttribute('href') がないと、パラメーターが失われます。

于 2013-02-12T20:42:38.087 に答える
0

いくつかのオプション:

1) jQuery AJAX を使用し、フォーム データをシリアル化してポストし、onSuccess コールバックでリダイレクト (location.href) します。このようなもの:

$.post("submitform.php", 
       $("form").serialize(),  
       function(data){location.href='results.php?page_no=2';}
      );

2) フォーム タグで「ターゲット」を使用して、名前付きの非表示の iFrame にフォームを投稿します。これが本当にベスト エフォート型の記録である場合は、ページが読み込まれるのを待つ必要はありません。要求は十分であり、次のページに進むことができます。このようなもの:

<iframe="targetname" style="display:none;" />
<form name="myform" target="targetname" method="post" action="submitform.php">
....
</form>
<a href="page2.php" onClick="document.forms['myform'].submit(); return true;">
Click Here
</a>
于 2013-02-12T21:03:22.417 に答える