2013-07-04 94 views
0

我一直在尝试解决这个代码几个小时,我仍然无法使它的工作。表单提交'返回false'重新加载当前页面

这是相当基本的:
我建立一个混合iOS应用程序,有需要的用户登录到我们的系统中的区域,我用Hammer.js处理触摸事件。
因此,在页面上,我有一个表单和一个提交按钮。而在我的JS应用程序文件中,有到我的服务器检查凭据的ajax请求。

虽然,它不起作用:我的表单不断重新加载页面,无论我做什么。当它刷新窗口时,我的ajax请求没有任何工作机会。

下面是HTML表单:

<div class="login-form-parent"> 
    <div class="login-form"> 
    <section> 
     <h2>Sign in to GraphiX Studios CPM</h2> 
     <form name="loginForm" id="login" method="post" submit="#" > 
     <fieldset> 
     <input type="text" name="login" id="loginEmail" placeholder="Username" autocapitalize="false" autocorrect="false" > 
     <input type="password" name="password" id="loginPass" placeholder="••••" > 
     <aside> 
      <label for="rememberLogin">Remember me</label> 
      <input type="checkbox" name="rememberLogin" id="rememberLogin" > 
     </aside> 
     <footer> 
      <input type="submit" name="submit" id="submitLogin" value="Login" > 
     </footer> 
     </fieldset> 
     </form> 
    </section> 
    </div> 
</div> 

两个<div><aside><section><footer>标签只是在这造型的目的。

这里是JS代码:

var loginEl = document.getElementById('submitLogin'); 
Hammer(loginEl, {tap_max_touchtime: 1000}).on("tap", loginFunctions); 
function loginFunctions() { 
    var usernameValidation = $("input#loginEmail").val(); 
    if (usernameValidation == "") { 
     $("#login_error").show(); 
     $("input#login").focus(); 
    return false; 
    } 
    var passwordValidation = $("input#loginPass").val(); 
    if (passwordValidation == "") { 
     $("#password_error").show(); 
     $("input#password").focus(); 
    return false; 
    } 
    if (usernameValidation != "" && passwordValidation != "") { 
     $.submit(function() { 
      var username = $('#loginEmail').val(); 
      var password = $('#loginPass').val(); 
      $.ajax({ 
       url: 'loginProcessing.php', 
       type: 'POST', 
       data: { 
        user: username, 
        pass: password 
       }, 
       success: function(response) { 
        if(response == '1') { 
         // Success 
         alert('Success'); 
        } else { 
         // Error 
         alert('Failed'); 
        } 
       } 
      }); 
      return false; 
     }); 
    } 
return false; 
} 

我不能调试我自己:我一直在尝试了几个小时不同的解决方案,我已经和谷歌堆栈溢出资源中搜索。

随意清理或改善JS代码。

回答

1

变化<input type="submit" name="submit" id="submitLogin" value="Login" ><input type="button" name="submit" id="submitLogin" value="Login" >

+0

该诀窍的开始!至少它没有刷新页面了。因为它不再是一个提交按钮,我不得不删除'$ .submit(function(){' –

2

尝试使用:

event.preventDefault(); 

,而不是返回false,在$ .submit功能

相关问题