首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php post jquery后显示消息,禁用重定向

问在php post jquery后显示消息,禁用重定向
EN

Stack Overflow用户
提问于 2011-07-25 08:57:33
回答 1查看 593关注 0票数 0

因此,遵循前面的一些建议,我想创建一个电子邮件表单,在提交有效的电子邮件后,注册框消失,并出现一条新消息,说“谢谢注册”或类似的东西。我把验证记录下来了。我的process.php也能用了。同样,#message会被隐藏,但页面会立即重定向,并在地址栏中显示: www.myurl.com/?address=wahteveriinputed@whatever.com

下面是我关于这篇文章的jquery代码:

代码语言:javascript
复制
function stateChanged3 () {

}

function GetXmlHttpObject () {
    var requestObj = null;
    if (window.XMLHttpRequest)
        requestObj = new XMLHttpRequest();
    else if (window.ActiveXObject)
        requestObj = new ActiveXObject("Microsoft.XMLHTTP");
        return requestObj;
    }
    requestObj3 = GetXmlHttpObject();
    var url = "mlml/process.php?address=" + emailaddressVal;
    requestObj3.open("POST", url, true);
    requestObj3.onreadystatechange = stateChanged3;
    requestObj3.send(null);
    $('#message').toggle();

我的php代码非常简单,它是一个经过修改的开源邮件,如下所示:

代码语言:javascript
复制
$email = $_REQUEST["address"];
$key = md5(time());
$req_time = time();
$query = "SELECT * FROM `mailinglist_subscribers` WHERE `address` = '$email'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$num_rows = mysql_num_rows($result);
if ($num_rows != 1) {
    $query = "INSERT INTO mailinglist_subscribers VALUES ('$email', '$key', '1', '$req_time', '0')";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-25 09:54:55

  • 使用JavaScript库(像jquery做ajax调用),它会让你的生活更轻松。
  • 使用onclick,或者点击点击事件,而不是stateChanged事件,并在事件处理程序中返回false。
  • 设置ajax调用的回调来做类似的事情:隐藏注册框并显示新消息。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6810851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档