javascript - 如何在 Ajax 上成功提交表单 :

标签 javascript jquery ajax

我正在尝试使用 jQuery 验证输入。如果输入经过验证并且 ajax 返回 success 那么我需要允许表单提交。我正在使用 e.preventDefault

阻止提交

我的脚本是:

$("#spsignin").submit(function(e){
    if (e.preventDefault) { 
        e.preventDefault(); 
    } else { 
        e.returnValue = false;
    }
    var uname = $("input#name").val();
    var pass = $("input#password").val();

    $.ajax({
        type: "POST",
        url: "Login",
        data: 'uname=' + encodeURIComponent(uname) + '&' + 'pass=' 
                       + encodeURIComponent(pass),
        dataType: "json",
        success: function( data, textStatus, jqXHR) {
            if (data == true) {
                $("#spsignin").submit();
            } else { //display error message
                $("#error").show(1500).css({visibility: "visible"});
                $("#error").append("<b>Invalid Username/Email or Password</b>");
            }
        },
        //If there was no resonse from the server
        error: function(jqXHR, textStatus, errorThrown) {
            console.log("Something really bad happened " + textStatus);
            $("#error").html(jqXHR.responseText);
        },
    });

成功 时,它会执行提交操作,但会重复执行该操作。表示 Firebug 在其控制台中显示 post 请求数。以及作为响应的 post 请求数。

形式是:

<form action="Signin" method="get" id="spsignin">
    <input type="text" name="uname" class="text validate[required]" 
        id="name" placeholder="Username"/>
    <input type="password" name="pass" class="text validate[required]" 
        id="password" placeholder="Password"/>
    <input type="submit" value="" id="memberlogin"/>
</form>

请任何人告诉我如何在 ajax success 上提交表单 ... 谢谢 ...

最佳答案

如果输入经过验证,那么您可以让用户登录,使用相同的代码创建 session 并在成功回调中重定向到适当的页面,例如

...
success: function( data, textStatus, jqXHR) {
  if(data==true) {
   //redirect to loggedin page
   location.href = "url_to_your_loggedin_page";               
  }

关于javascript - 如何在 Ajax 上成功提交表单 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15065725/

相关文章:

javascript - TypeError : google. visualization.arrayToDataTable 不是函数

jquery - 需要帮助使用 DataTable 中的数据操作 MySQL 中的数据

Javascript 函数将我的值转换为未定义的值。我和我的老师不明白为什么

javascript - 在输入字段中选择一些文本,但不是全部,当它获得焦点时

javascript - jQuery 获取文档中的所有 href url 并 chop 或拆分它们

javascript - 让 jQuery 函数通过 mySQL 查询使用来自外部 php 文件的数据

javascript - jQuery XMLHttpRequest 调用外部 PHP 表单未提交

javascript - 不同索引的多个文件上传问题

jquery - 脚本和样式表与插件的文件夹结构

javascript - 如何从评级系统中点击的星星中检索值(value)