1

target = _blank でフォームを送信し、ページを他のページにリダイレクトする必要があります。

HTML

<form id="registration_form" name="registration_form" method="post" action="actionurl" target="_blank">
    <input type="button" name="submit" id="submit" value="Submit" />
</form>

Jクエリ

$(document).ready( function()
{
   $('#registration_form').submit( function(e)
   {
      var flag=validate();
      if(flag)
          $(location).attr('href',redirectionurl);
      return flag;
   });

   $("#submit").click(function(){
      $('#registration_form').submit(); // this triggers the submit event
   });
});

ボタンのタイプを SUBMIT フォームに変更すると、検証フラグに従って送信されますが、リダイレクトは機能しません。

送信の代わりに BUTTON を使用すると、リダイレクトが行われますが、フォームは送信されません。

私が間違っていたところ。ヘルプ。

ありがとうございました。

4

1 に答える 1

0

ターゲットを _blank として定義しているため、難しい方法で行っていると思いますが、後でフォーラムを送信するので、jquery ではなくサーバー側で検証を行うことをお勧めします。HTML コードは次のようになります。

<form id="registration_form" name="registration_form" method="post" action="actionurl" target="_blank">
    <input type=hidden name="flag_input" value="false">
    <input type="button" name="submit" id="submit" value="Submit" />
</form>

そしてjqueryコード:

$(document).ready( function()
{
   $('#registration_form').submit( function(e)
   {
      var flag=validate();
      if(flag)
          $("#flag_input").val("true")
   });

   $("#submit").click(function(){
      $('#registration_form').submit(); 
   });
});

そして、サーバーは flag_input を取得します。true の場合はリダイレクトされます。そうでない場合は、ユーザーが再度フォーラムに入力する必要があります。リダイレクトがまったく必要ない場合は、ajax を使用できます。

編集: そしてサーバー側:(あなたが使用する言語はわかりませんが、基本はそのようなものです:)

if (flag_input==true) - PDF を生成し、X にリダイレクトします

else - Y (フォーラム ページ) にリダイレクトします。

それが役に立ったかどうか教えてください。幸運を!

于 2013-07-25T11:50:33.577 に答える