首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从php打开颜色盒

从php打开颜色盒
EN

Stack Overflow用户
提问于 2012-02-25 18:15:49
回答 3查看 3K关注 0票数 1

我的php部分有点问题。

我有一个注册表.php,并希望在提交后,在iframe颜色盒的回应消息。我有一个单独的答复.php,这是到目前为止包括在注册表.php。到目前为止,它将显示在带有include-once response .php的表中。这不是很好的看到,所以我希望它在一个颜色框中打开。

我是这个行业的新手,我寻找了很长一段时间,但都没有成功。

有没有人可以帮我。我的想法是用响应.php代替include-once响应.php来回显url,但它不起作用。接下来我想到的是添加一个类似于-class iframe链接到url的东西,比如在HTML体中,我使用colorbox来表示条款和条件。

如果有人能帮上忙,我将不胜感激。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-02-25 18:32:01

Well...you是令人困惑的客户端和服务端操作。请注意,colorbox是在客户端运行的,而不是在服务器上运行的。因此,您需要更改页面的行为。

版本1

提交表单后,使用响应PHP-file输出JavaScript代码,该代码将在文档加载完成后打开一个颜色盒。如下所示:

代码语言: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。这可能是最接近您所描述的功能的解决方案,但也是所有可能性中最丑陋的一种。;)

票数 1
EN

Stack Overflow用户

发布于 2012-02-25 18:33:39

您可以使用ajax提交表单,并编写要在ajax调用页面中显示的消息,并在同一页面上的colorbox中显示该消息。

代码语言:javascript
复制
$("#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
});
票数 1
EN

Stack Overflow用户

发布于 2012-02-26 08:13:13

好吧,

谢谢你回答我的问题。

我找到了一个ajax解决方案的代码,来自一个几乎有同样问题的人:

代码语言:javascript
复制
$("#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代码

代码语言:javascript
复制
<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一样,第一个版本,但它不工作。当我在没有选择器的情况下打开颜色盒时

代码语言:javascript
复制
$.colorbox({iframe:true, href:"msgToUser.php"

这将在单击submit之后打开colorbox,但会打开集成在响应中的#message。php文件将不会显示。另一个问题是,当我准备提交表单时,会因为缺少条目而出现错误,colorbox也会被打开。

来自德国柏林的最美好的祝福。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9443126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档