包含会话变量或php文件的css弹出窗口
我最近安装了简单邮件列表2(目前处于测试阶段),到目前为止,我已经完成了所有工作。剩下我要做的主要事情是创建一个定制的php页面,一旦提交,注册表单就会重定向到该页面。页面显示的内容基于用户在电子邮件字段中输入的内容,并返回以下三个结果之一:包含会话变量或php文件的css弹出窗口,php,css,Php,Css,我最近安装了简单邮件列表2(目前处于测试阶段),到目前为止,我已经完成了所有工作。剩下我要做的主要事情是创建一个定制的php页面,一旦提交,注册表单就会重定向到该页面。页面显示的内容基于用户在电子邮件字段中输入的内容,并返回以下三个结果之一: 如果电子邮件语法不正确,将显示错误消息 如果用户已订阅,则会显示一条自定义消息,告诉他们检查电子邮件 如果用户选择取消订阅,则为自定义消息 这就是背景。现在我打算做的是显示一个弹出窗口,其中包含重定向php页面的内容(即三个结果之一),而不是转到新页面。是
Adam您可以使用
作为文档中的“弹出窗口”,您只需将表单的目标设置为iframe的名称/id
。(您可以使用一些JavaScript只在表单提交后显示iframe。)您可以使用JavaScript向PHP页面发送ajax请求,该页面将执行计算,结果将发送到“窗口”内容,然后向用户显示窗口,您正在混合隐喻。CSS只是一种表示技术,您可以使用它来确定某事物的样式。没有“css弹出框”这样的东西
您想要做的是有一个HTML元素(可能是一个div),它包含您想要显示的信息,最初设置为不可见(您使用CSS来显示:none;style)。您所描述的本质上是一个AJAX交互,它使用Javascript解析表单的内容,将数据发送到要评估的服务器,并返回要显示的消息(不触发回发/转到新页面)。该Javascript还将处理将HTML元素的显示设置为true的CSS部分
这是一个相当常见的场景,因此您应该能够在线找到代码片段
…但这里有一个超级愚蠢的例子
<html>
<head>
<title>AJAX Test</title>
</head>
<body>
<form action="#">
<input type="text" id="enterStuff" />
</form>
<div id="response" style="display:none;">
<p id="message">Put stuff in me</p>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){
registerEventListeners();
});
function registerEventListeners(){
jQuery("#enterStuff").change(getData);
}
function getData(){
jQuery.ajax({
type : 'POST',
data : {
stuff : jQuery("#enterStuff").val(),
},
url : "http://localhost/myprocessor.php",
success : showCool,
complete : updateDisplay
});
}
function showCool(data, textStatus, jqXHR){
var selector = jQuery("#message");
selector.val(data)
}
function updateDisplay() {
jQuery("#response").show();
}
</script>
</body>
</html>
AJAX测试
给我装东西
jQuery(文档).ready(函数(){
registerEventListeners();
});
函数注册表EventListeners(){
jQuery(“#entertuff”).change(getData);
}
函数getData(){
jQuery.ajax({
键入:“POST”,
数据:{
stuff:jQuery(“#entertuff”).val(),
},
url:“http://localhost/myprocessor.php",
成功:秀酷,
完成:updateDisplay
});
}
函数showCool(数据、文本状态、jqXHR){
var选择器=jQuery(“#消息”);
selector.val(数据)
}
函数updateDisplay(){
jQuery(“#响应”).show();
}
然后,您的myProcessor.php必须读取变量的值,执行一些逻辑,并回显响应。您不能在此弹出窗口中对该脚本使用ajax请求吗?啊,好的,我想我明白您的意思了,所以不要直接将表单发送到process.php,而是将数据发送到ajax交互,后者将数据发送到process.php本身,获取信息,并在隐藏的div中显示输出?我只是在俚语中使用了“css弹出窗口”来指代不打开新窗口的弹出窗口!对的这是这种交互最常见的实现模式。iframe可能会工作,尽管他们通常会皱眉头一段时间(他们似乎会回来)。为帮助干杯!如果用户禁用了JavaScript,此方法是否有回退?我注意到脚本中调用了形式action=“#”、方法和动作属性。不,没有J.;)AJAX就不能很好地工作在这种情况下,可以使用标记更改表单定义。有关处理此问题的更多信息,请参见此处: