我正在尝试构建一个订阅表单。 问题是页面被重定向,并且数据没有输入到数据库中, 页面被重定向到
http://localhost/xampp/MY/SUB_FOLDERS/includes/parse.php?subscriber=sid%40patel&subscribe=subscribe
HTML 代码
<div id="subsc">
<form class="navbar-form navbar-right" action="includes/parse.php" mathod="post">
<div class="form-group">
<input type="email" placeholder="Email" class="form-control" name="subs" id="subs" required="required">
</div>
<input type="submit" class="btn btn-success" name="subscribe" id="subscribe" value="subscribe">
</form>
</div>
Ajax 代码:
<script type="text/javascript">
$(document).ready(function(){
$("#subscribe").click(function(){
username=$("#subs").val();
$.ajax({
type: "POST",
url: "includes/parse.php",
//data:dataString,
success: function(html){
if(html=='true')
{
$("#subsc").fadeOut("normal");
$("#subsc").html("Thank you for subscriping!");
}
else
{
$("#subsc").html("Error in subscribing");
}
},
});
return false;
});
});
</script>
用于将数据插入数据库的 PHP 脚本:
<?php include("connect.php");
if (@$_POST['subs']) {
$subscriber = mysql_real_escape_string(strip_tags($_POST['subs']));
$sendmessage = mysql_query("INSERT INTO subscriber VALUES('','$subscriber',now())");
echo 'true';
}
?>
PS:订阅者 ID、电子邮件、日期时间中的行名称
最佳答案
我想这里有一种更简单的方法,使用您现有的代码本身......而不是这些行: $("#subscribe").click(function(){ 用户名=$("#subs").val();
使用这些行: $("#subscribe").click(函数(e){ e.preventDefault(); 。 e.stopPropagation(); 用户名=$("#subs").val();
这应该会停止表单回发,即使对于提交按钮也是如此。 希望这可以帮助。
关于javascript - 页面在 ajax 中重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478065/