我的php部分有问题。
我有一个.php注册表,希望得到回复 在iframe颜色框中提交后的消息。 我有一个单独的响应.php到目前为止包含在 登记表.php。到现在为止它将显示在一个表格中 包含一次响应.php。多数民众赞成看起来不是很好,所以我想这样做 在彩盒中打开。
我是那个公司的新手并且长时间寻找答案但是 没有成功。
有没有人可以帮助我。我的想法是回应一个 url的响应.php而不是include-once响应.php但是 它不起作用。我认为接下来的事情是添加类似的东西 -class iframe链接到url- like在我使用colorbox的html体中 条款和条件。
如果有人可以提供帮助,我将非常感激。谢谢。
答案 0 :(得分:1)
嗯......你在混淆客户端和隔离操作。请注意,colorbox是在客户端而不是服务器上运行的东西。因此,您需要更改页面的行为。
版本1
提交表单后,使用您的响应PHP文件输出JavaScript代码,该代码将在文档加载完毕后打开彩色框。像这样:
<?php if (isset($_POST['submitted'])): ?>
<script type="text/javascript">
$(document).ready(function(){
// open your colorbox here
});
</script>
<?php endif; ?>
版本2
用AJAX解决方案替换您的标准表单。单击提交按钮时,使用jQuery对您的respone PHP文件执行AJAX请求。通过这种方式,您可以在处理请求时显示颜色框,一旦完成,您可以隐藏颜色框,显示另一个或任何您喜欢的颜色。
您可以在SO或jQuery文档中找到有关如何使用jQuery执行AJAX请求的大量说明:http://api.jquery.com/jQuery.post/
版本3
最丑陋的解决方案是使用JavaScript打开包含iframe的颜色框,然后使用target="iframename
标记中的<form>
“将表单提交到此iframe。这可能是最接近什么的解决方案你描述了你想要做的事情,但它也是所有可能性中最丑陋的一种。;)
答案 1 :(得分:1)
您可以使用ajax提交表单并编写消息以显示在ajax调用页面中,并在同一页面的彩色框中显示该消息。
$("#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
});
答案 2 :(得分:1)
行,
感谢您回答我的问题。
我从一个几乎遇到同样问题的人那里找到了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>
我认为这不是向机构实施响应消息的最佳方式。每个查看页面源代码的人都可以阅读响应消息。我会像第一个版本一样prefera服务器hiden版本,但它不起作用。当我打开没有像
这样的选择器的颜色盒时$.colorbox({iframe:true, href:"msgToUser.php"
将在单击提交后打开颜色框,但会在响应中集成#message。 php文件不会显示。另一个问题是,当我要提交表格时,由于缺少输入而会出现错误,彩盒也将被打开。
来自德国柏林的祝福。