我的php部分有点问题。
我有一个注册表.php,并希望在提交后,在iframe颜色盒的回应消息。我有一个单独的答复.php,这是到目前为止包括在注册表.php。到目前为止,它将显示在带有include-once response .php的表中。这不是很好的看到,所以我希望它在一个颜色框中打开。
我是这个行业的新手,我寻找了很长一段时间,但都没有成功。
有没有人可以帮我。我的想法是用响应.php代替include-once响应.php来回显url,但它不起作用。接下来我想到的是添加一个类似于-class iframe链接到url的东西,比如在HTML体中,我使用colorbox来表示条款和条件。
如果有人能帮上忙,我将不胜感激。谢谢。
发布于 2012-02-25 18:32:01
Well...you是令人困惑的客户端和服务端操作。请注意,colorbox是在客户端运行的,而不是在服务器上运行的。因此,您需要更改页面的行为。
版本1
提交表单后,使用响应PHP-file输出JavaScript代码,该代码将在文档加载完成后打开一个颜色盒。如下所示:
<?php if (isset($_POST['submitted'])): ?>
<script type="text/javascript">
$(document).ready(function(){
// open your colorbox here
});
</script>
<?php endif; ?>版本2
用AJAX解决方案替换您的标准表单。单击submit按钮后,使用jQuery向您的响应PHP文件发出AJAX请求。这样,您可以在处理请求时显示一个colorbox,一旦完成,您可以隐藏该colorbox,显示另一个或您喜欢的任何内容。
您可以在SO上的此处或jQuery文档中找到大量关于如何使用jQuery处理AJAX请求的说明:http://api.jquery.com/jQuery.post/
版本3
最丑陋的解决方案是使用JavaScript打开一个包含iframe的颜色盒,然后在<form>标记中使用“target="iframename”将表单提交到此iframe。这可能是最接近您所描述的功能的解决方案,但也是所有可能性中最丑陋的一种。;)
发布于 2012-02-25 18:33:39
您可以使用ajax提交表单,并编写要在ajax调用页面中显示的消息,并在同一页面上的colorbox中显示该消息。
$("#myForm").submit(function(){
var formData = $(this).serializeArray();
$.ajax({
'type':'post',
'data':formData ,
'url':'action-page-url.php',
'cache':false,
'success':function(r){
$("body").append("<div id='response'></div>");
$("#response").hide().html(r).colorbox();
}
});
return false; // To override non-ajax submitting
});发布于 2012-02-26 08:13:13
好吧,
谢谢你回答我的问题。
我找到了一个ajax解决方案的代码,来自一个几乎有同样问题的人:
$("#link").colorbox({ inline:true, href: "#msg"});
$('input[type="submit"]').click(function(){
$.ajax({
type: "POST",
url: "form.php",
data: $('intpu[type="text"]').serialize(),
success: function(data){
$("#msg").html(data);
$("#link").click();
return false;
}
});
return false;
});和html代码
<form name="exam" method="post">
<input size="60" type="text" name="quote" />
<input type="submit">
</form>
<a id="link" style="display:none"></a>
<div id="msg" style="display:none;"></div>我认为这不是实现对正文的响应消息的最佳方式。查看页面源代码的每个人都可以阅读响应消息。我更喜欢服务器隐藏版本与php一样,第一个版本,但它不工作。当我在没有选择器的情况下打开颜色盒时
$.colorbox({iframe:true, href:"msgToUser.php"这将在单击submit之后打开colorbox,但会打开集成在响应中的#message。php文件将不会显示。另一个问题是,当我准备提交表单时,会因为缺少条目而出现错误,colorbox也会被打开。
来自德国柏林的最美好的祝福。
https://stackoverflow.com/questions/9443126
复制相似问题