繁体   English   中英

Submit()无法正常运行JS

[英]submit() not working JS

Javascript Submit(); 功能不起作用。 我的PHP脚本(hax.php)没有返回任何值,我只需要AJAX检查它是否已成功运行。 成功方法在这种情况下仍然有效还是不再验证脚本。 除此之外,即使执行else {}语句,它仍然不会提交表单。 有人知道怎么了吗?

<form action="validatelogin.php" method="post" autocomplete="off" id="loginform">
        <input style="display:none" type="text" name="auto"/>
        <input style="display:none" type="password" name="auto"/>
        <label for="username">Username: </label>
        <input type="text" name="username" placeholder="Your Username" id="username" class="modernInput" style="padding: 5px; width:100%;"><br><br>
        <label for="password">Password:</label>
        <input type="password" name="password" placeholder="Your Password" id="password" class="modernInput" style="padding: 5px; width:100%;">
        <?php echo $_SESSION["error"]; ?>
        <input type="button" value="Submit" class="btn btn-success btn-block" onclick="hackvalidate()">
    </form>
    <script>
    function  _(str) {
        return document.getElementById(str);
    }
    function hackvalidate() {
        var username = _("username").value;
        var password = _("password").value;
        var regex = /SELECT\s+|DELETE\s+|UPDATE\s+|--|=|/ig;
        if (username.test(regex) || password.test(regex)) {
            $.ajax({
                url: "hax.php",
                type: "POST",
                data: {user: username, pass: password},
                success: function () {
                    _("loginform").submit();
                }
            });
        } else {
            _("loginform").submit();
        }
    }
</script>

.test()操作数的顺序切换为regexObj.test(str)

if (regex.test(username) || regex.test(password)) {

使用.match()而不是.test()

if (username.match(regex) || password.match(regex)) {
            $.ajax({
                url: "hax.php",
                type: "POST",
                data: {user: username, pass: password},
                success: function () {
                    _("loginform").submit();
                }
            });
        } else {
            _("loginform").submit();
        }

match()是一个字符串方法,而test()是用于RegExp对象的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM