目前,我有这一行:
$.post("submitmail.php", $("#contactform").serialize(), recvMailStatus);
我是jQuery的新手,所以这可能是一个荒谬的愚蠢问题
但是我正在使用或不使用javascript来使用这个项目,所以如果使用此函数提交表单,我希望submitmail.php只是回显它是否成功。如果表单刚提交并重定向到submitmail.php,我希望它显示除白色屏幕以外的其他内容,黑色文本说“邮件已成功发送”。要做到这一点,我想我只会post
一个额外的变量“fromjs”或其他东西,以便页面可以相应地渲染自己。最好的方法是什么?
答案 0 :(得分:7)
您可以将其附加到您要发布到的地址:
$.post(
"submitmail.php?formjs=some_value",
$("#contactform").serialize(),
recvMailStatus
);
或:
$.post(
"submitmail.php",
$("#contactform").serialize() + '&formjs=some_value',
recvMailStatus
);
答案 1 :(得分:1)
最好的方法是使用$ .ajax函数,如下所示:
$.ajax({
type: "POST",
url: "submitmail.php",
success: function(msg){
alert(msg);
}
});
您可以修改它以显示其他类型的窗口,JQuery有一些关于警报自定义的漂亮插件。此外,您需要捕获表单的提交,并避免重定向您的页面。
答案 2 :(得分:0)
我知道这是旧的,但另一种方式是例如:
当用户点击一个按钮时,它会序列化一个表单并将2个变量添加到它将发送给PHP的列表中。之后,PHP会响应并发回信息以显示为警报。类似的东西:
$('#send').click(function() {
var regname = $('#regname').val();
var regnameid = $('#regnameid').val();
$.post('ext/engine.php', $('#regform').serialize() + {regnameid: regnameid, regname: regname}, function(data) { alert(data); });
});