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

目前尚不清楚您想要什么,但也许这会有所帮助。为了防止默认操作,您必须在提交函数中

$("#new_user").submit(function(e) {
    e.preventDefault();    
    $(".terms").dialog("open");
});
于 2012-06-08T14:07:13.790 回答
1
buttons: {
    "I agree": function() {
      return $("#new_user").unbind("submit").submit();
    },
    "Don`t agree - Exit": function() {
      return $(this).dialog("close");
    }

.unbind("提交").submit(); 在这种情况下将有助于提交表格。

于 2012-06-11T07:04:55.117 回答
0
>$("#new_user").submit(function(e) {
});

你有一个完全空的功能

e.preventDefault();

然后继续引用超出范围的内容(仅在功能块中的范围内)

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

然后随机打开一个对话框。

将这两行放在功能块中并返回 false,您应该更进一步。

下一个问题是,通过在刚刚弹出术语对话框的同一元素上调用 .submit ,您几乎是在循环往复。一切都有些混乱。

您可能需要一个“提交”按钮,它会弹出对话框,然后在我猜的表单上调用提交。

于 2012-06-08T14:09:30.147 回答