0

私は次のコードを持っています。用語が読み込まれたダイアログがあり、フォームの送信時に表示されます。ダイアログの同意ボタンからフォームを送信してください。

$(".terms").dialog({
  autoOpen: false,
  modal: true,
  height: 400,
  width: 500,
  buttons: {
    "I agree": function() {
      return $("#new_user").submit();
    },
    "Don`t agree - Exit": function() {
      return $(this).dialog("close");
    }
  }
});

$("#new_user").submit(function(e) {
  e.preventDefault();
  return $(".terms").dialog("open");
});

ありがとう!

4

3 に答える 3

1
buttons: {
    "I agree": function() {
      return $("#new_user").unbind("submit").submit();
    },
    "Don`t agree - Exit": function() {
      return $(this).dialog("close");
    }

.unbind("送信").送信(); この場合、フォームを送信するのに役立ちます。

于 2012-06-11T07:04:55.117 に答える
1

あなたが何を望んでいるのかは明確ではありませんが、おそらくこれが役立ちます。デフォルトのアクションを防ぐには、送信機能内にいる必要があります

$("#new_user").submit(function(e) {
    e.preventDefault();    
    $(".terms").dialog("open");
});
于 2012-06-08T14:07:13.790 に答える
0
>$("#new_user").submit(function(e) {
});

完全に空の関数があります

e.preventDefault();

次に、スコープ外のものを参照します(関数ブロック内のみスコープ内)

$(".terms").dialog("open");

次に、ランダムにダイアログを開きます。

関数ブロック内に 2 つの行を配置し、false を返すと、さらに一歩進んでいるはずです。

次の問題は、用語ダイアログをポップしたのと同じ要素で .submit を呼び出して、かなりループしていることです。それはすべて少し混乱しています。

おそらく、私が推測しているフォームで送信を呼び出すダイアログをポップする「送信」ボタンが必要です。

于 2012-06-08T14:09:30.147 に答える