1

我一直在尝试制作类似于 download.cnet.com 上的登录/忘记密码弹出窗口。虽然我的代码实际上运行良好,但有一个问题。我无法让它在输入时工作。表单已提交,但 ajax 调用被跳过。

在这方面,我删除了提交按钮并使用 adiv代替。然后点击:

$('#loginButton').click(function(){
  // ajax call check for existing record via cfc 
  // and returns true or false after which the appropriate 
  // actions are taken depending on returned value. 
  }
)};

一切正常,但我一直想知道 cnet 的人是如何让它在进入时工作的。如果你查看他们的网站,你会明白我在说什么。

4

3 回答 3

0

如果您提到 cnets 使用 cnet 登录和丢失密码功能,看起来他们正在弹出一个窗口,并使用 iframe 加载该表单的内容。

我想从理论上讲,如果您使用 iframe 加载颜色框,并在 iframe 中提交并在那里显示该信息,那么颜色框应该保持打开状态直到关闭。

于 2012-11-19T12:01:07.927 回答
0

您说 onsubmit 弹出窗口关闭。这必须意味着您的功能实际上开始了。

我建议探索你的函数,看看为什么对你的 cfc 的调用被跳过,事实上它是。另外,一旦你弄清楚了,把提交按钮放回去。更改 html 表单的默认行为只会惹恼知道如何使用键盘的人。

另一件事。如果您使用的是 cfform,则可能必须将表单发送到 js 函数。换句话说,而不是这样:

<cfform onsubmit="yourFunction()">

做这个

<cfform onsubmit="yourFunction(this)">
于 2012-11-19T13:27:05.210 回答
0

单击“输入”提交表单,因此您还需要调用它 onSubmit。听起来您的功能正在运行(但您没有发布代码,所以这是任何人的猜测......对您感到羞耻)但页面提交不允许您看到正在发生的任何事情。如果您想阻止表单提交,您需要返回 false onsubmit = "return yourFunction()"。当您的函数返回 false 时,它​​将阻止表单提交。

请参阅JavaScript 表单验证

于 2012-11-19T16:32:47.337 回答