AJAX无刷新提交的问题

mykelly6 2009-07-01 01:03:41
看了网上的例子自己改成最简单的测试了下。
发现邮件发出去了,但是同时跳转到了发送邮件的那个页面。
下面注释说的return false;没起到作用啊。showResponse似乎也没执行。
testmail.php里面用$mailbody = $_POST['writer'];也没接收到数据阿。
各位大哥指导下哪不对或者缺少了什么?

<html>
<head>
<title>JQuery test</title>

<script language="javascript" src="jquery-1.3.2.js"></script>

<script language = "JavaScript" type="text/javascript">
$(document).ready(function(){
var options = {
//target: '#output2', // target element(s) to be updated with server response
//beforeSubmit: showRequest, // pre-submit callback
success:showResponse // post-submit callback
};

$('#myForm').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);

// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
}

function showResponse() {
alert("success");
}
</script>

</head>
<body>
<form id="myForm" action = "testmail.php" method="post">
<textarea name="writer" id="writer" value="writer" ></textarea>
<input type="submit" name="button" id="button" value="order" />
</form>

</body>
</html>
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mykelly6 2009-07-01
  • 打赏
  • 举报
回复
为什么在火狐测试就得到提交的值了,IE7下面就不行。
而且IE7下面还会乱码,昨天还在说IE比火狐灵活呢。。。郁闷
mykelly6 2009-07-01
  • 打赏
  • 举报
回复
2#是修改以后的,没有错吧?

我运行了得到了返回的php页面数据,但是我在php里面加了echo $_POST['writer'];
php页面却没有这个值
是不是post的设置有问题啊?
Go 旅城通票 2009-07-01
  • 打赏
  • 举报
回复
你代码错了,少了一个)

$(document).ready(function(){
var options = {
//target: '#output2', // target element(s) to be updated with server response
//beforeSubmit: showRequest, // pre-submit callback
success:showResponse // post-submit callback
};

$('#myForm').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);

// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
})
mykelly6 2009-07-01
  • 打赏
  • 举报
回复
谢谢,上次也是大哥帮我解决的。
还有个问题就是在testmail.php没有接受到提交的数据阿。
我要根据表单内容来发邮件呢。
另外,似乎从php获得的返回值会乱码阿,我这两个网页都设置了编码也没用。


<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 13.0.0.0 for Windows" />
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>JQuery test</title>

<script language="javascript" src="jquery-1.3.2.js"></script>
<script language="javascript" src="jquery.form.js"></script>

<script language = "JavaScript" type="text/javascript">
$(document).ready(function() {
var options = {
success: showResponse // post-submit callback
};

$('#myForm').submit(function() {
$(this).ajaxSubmit(options);
return false;
});
});

// pre-submit callback
function showRequest(formData, jqForm, options){
//var queryString = $.param(formData);
//alert('About to submit: \n\n' + queryString);
return true;
}

// post-submit callback
function showResponse(responseText, statusText){
window.showModalDialog("orderOver.html","", "dialogWidth=640px;dialogHeight=480px;scroll=no;location=no;status=no;");
}
</script>

</head>
<body>
<br>

<form id="myForm" action = "testmail.php" method="post">
<textarea name="writer" id="writer" value="writer" ></textarea>
<input type="submit" name="button" id="button" value="order" />
</form>

</body>
</html>
hookee 2009-07-01
  • 打赏
  • 举报
回复
没有引入 <script language="javascript" src="js/jquery.form.js"></script>
下载 http://www.malsup.com/jquery/form/jquery.form.js?2.28

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧