javascript - 单击两次后提交完成

标签 javascript jquery

我需要在提交之前检查该值
所以我尝试了两种方法来做到这一点,但同样的问题
问题是用户需要在检查为真后再次单击
我尝试使用 chrome、firefox 和 IE,但总是出现同样的问题
这里是index.php

<!DOCTYPE html>
<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
        submitnow=false;
        $(document).ready(function(){
            $("form#test").submit(function(e){
                //e.preventDefault(); //i test this way (here and line 17) with same problem line
                if(submitnow==false){
                        num=$("#num").val();
                        $.post("check.php",{num:num},function(result){
                            if(result=="true"){
                                alert("check return true");
                                submitnow=true;
                                $("form#test").submit();
                                //$("form#test").unbind('submit').submit();
                            }else{
                                alert("check return false");
                            }
                        });
                }
                if(!submitnow)
                    return false;
                else
                    alert("submitnow is true");
            });
        });
    </script>
<body>
    <form action="" method="POST" id="test" >
        <label for="num" >Num</label>
        <input id="num" name="num" type="text"  value="1" required/>
        </br>
        <input id="submit" type="submit" name="submit"/>
    </form>
<?php
echo (isset($_POST['submit']))?'submit done':'';
?>
</body>
</html>

这里是 check.php

<?php
echo ($_POST['num']==1)?'true':'false';
?>

最佳答案

尝试

$(document).ready(function () {
    $("form#test").submit(function (e) {
        e.preventDefault();
        var frm = this;
        var num = $("#num").val();
        $.post("check.php", {
            num: num
        }, function (result) {
            if (result == "true") {
                alert("check return true");
                submitnow = true;
                //don't do this as it will call the submit handler again
                //$("form#test").submit();
                frm.submit();
            } else {
                alert("check return false");
            }
        });
    }
    });
});

然后更改提交按钮的ID和名称

<input id="mysubmit" type="submit" name="mysubmit"/>

关于javascript - 单击两次后提交完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358066/

相关文章:

javascript - 使用 Mozilla Firefox Add-on SDK 获取工具栏搜索框的内容

javascript - 带有 FACEBOOK LIKE 按钮的 XUL IFRAME

javascript - 传递一串less给less.js并接收css?

javascript - 如何从客户端安全地写入 Firebase?

javascript - 初始化 Select2 抛出 define is not defined 错误

Javascript When 和 Done 函数使用

javascript - jQuery 悬停和滑动

javascript - 为 Bootstrap 3 Accordion 设置显示三 Angular 形

javascript - Jquery 函数可以在本地服务器上运行,但不能在实时服务器上运行?

javascript - jQuery 单击选择器不工作