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)) {
关于javascript - Submit()无法正常运行JS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30552651/