javascript - 如何停止 PHP 脚本的响应消息作为页面的唯一内容出现

标签 javascript php jquery

所以我有一个简单的注册页面,Javascript 请求工作正常,但是当发送回响应时,页面位置更改为

/RegisterNewUser.php?Name=Andrew&Surname=Too&userID=0014&passWD=pass

除了响应之外,页面上没有显示任何内容。我尝试过手动更改页面位置,但这似乎不起作用

<body>
<div id="container">
    <header>
        <h1>Email Client</h1>
            <a href="login.html">
            <div class="topButton">Log in</div>
            </a>
        <h3>New User Registration</h3>
    </header>
    <div id="body">
        <form name="register" action="RegisterNewUser.php" method"get";>
            First Name:<input type="text" name="Name"/><br/>
            Surname:<input type="text" name="Surname"/><br/>
            User ID:<input type="text" name="userID" id="userID"/><br/>         
            Password:<input type="password" name="passWD" id="pass1"/><br/>
            Re-enter password:<input type="password" id="pass2"/><br/>
            <div id="feedback"></div>
            <!--Inline validation of whether the passwords match-->
            <input type="submit" value="Register" id="regSubmit">
            <div id="formFeedback"></div>
            <!--If "user ID exists" is retuned, make it an alert, e.g. alert("That user ID is         taken, please try another.")-->
        </form>
    </div>

</div>
</body>
</html>
<script>
var xhr=null;
function registrationCheck(){
    if (window.ActiveXObject){
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else if (window.XMLHttpRequest){
       xhr = new XMLHttpRequest(); 
    } 
    else {alert("Your browser does not support Ajax");}
    if (xhr!=null){  
         xhr.onreadystatechange=Response;
         xhr.open('POST','RegisterNewUser.php',false);
         xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
             xhr.send("Name=personName&Surname=personSurname&userID=personID&passWD=personpassword");
     }
}
function Response()
{
    if (xhr.readyState==4)
        {
            if (xhr.status==200)
                {
                var response=xhr.responseText;
                if(response == 'registered')
                    {
                        alert(response);
                    }
                else
                    {
                        alert('User already Exists');
                    }                   
                }
            else
                {
                    alert('Error!');
                }
        }
}   
$(document).ready(function(){
    $('#regSubmit').on('change', function(){
            registrationCheck();
        });
    });
</script>

最佳答案

您应该添加“点击”事件而不是“更改”事件 并添加“返回 false;”在您的声明末尾

$(document).ready(function(){
    $('#regSubmit').on('click', function(event){
        registrationCheck();
        return false;
    });
});

关于javascript - 如何停止 PHP 脚本的响应消息作为页面的唯一内容出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27604366/

相关文章:

php - 使用存储在数组中的 php 值的总和更新 MySQL 表列

javascript - 如何产生动态div id?在 PHP/JAVASCRIPT/MYSQL 中

jquery - 将带有 JSON 数据的 fullcalendar 动态加载到 addEventSource 中

javascript - 根据条件更改 setInterval 的 MS

javascript - 如何在 WSH (JScript) 中创建二进制文件并将其保存到本地文件系统?

php - 错误 : Undefined index - PHP, MySql

javascript - prevAll() 并按子项存在进行过滤

javascript - Windows 10 本地主机请求 ECONNREFUSED

javascript - jQuery 只执行 .append 一次

php - 计算计数,然后计算总计数的总和 MySql