2016-10-19 36 views
0

我知道我的逻辑有问题。这里是我的JS文件的片段:在jQuery中调用函数内部的函数

$("#sign").submit(function() { 
     if (SIGN === IN) 
      signin_account($("#username").val(), $("#password").val()); 
     else 
      $("#sign").submit(); 
}); 

请帮我解决这个问题。设置是我有一个动态的表格,可以是登录或注册表单。 SIGN的值告诉您表单是注册还是登录。如果它是登录表单,它将首先通过函数signn_account()检查帐户详细信息。如果是注册表单,则会提交表单。

我想要的是当事件submit()被调用时,我将首先检查输入是否有错误(密码错误,不存在用户名等)。现在,如果没有错误,我将确实将表单提交给脚本(php,cgi等),这会使事件再次调用submit()。

处理登录表单和注册表单的脚本是不同的。

我是JS,huhu的新手。

+0

你在这里有什么问题? –

+0

IN变量存储什么?或者,它是一个字符串值? – gkb

+0

我的问题是,我在一个事件处理程序中调用一个事件(submit())。因此,我得到“最大堆栈大小超出”错误。 –

回答

0

$("#sign").submit();else块中是冲突。当SIGN的值不是IN时,将出现无限循环--- $("#sign").submit();将再次调用该函数。您应该尝试为else块创建另一个功能。