2

我已经在我的网站上使用了颜色框,因此我想在用户提交表单后使用 inlineHTML 颜色框向用户提供感谢反馈。

我已经将包含感谢文本的内联内容contact_thanks 设置为隐藏的div。

然后我将 PHP 脚本设置为重新路由到我的域 + #contact_thanks

唯一的问题是,我缺少一些调用 jQuery 来更改隐藏的颜色框 div 的部分,而且我不确定我需要在我的代码中添加什么才能使其工作。

现场可以在这里找到,随时发送测试消息(它只发给我!)

PHP的

<?php
  $name = $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "myemail@gmail.com", "Message",
    $message, "From: $email" );
  header( "Location: http://www.mysite.co.uk/james/index.php#contact_thanks" );
?>

的HTML

<div style='display:none'>
      <div id='contact_thanks' style='padding:10px; background:#fff;'>
      <span class="colorBox">Thank you for your message!</span>
      <p>Thanks!</p>
</div>
</div>
4

3 回答 3

1

替换这个:

$(window).load(function() {
    if( window.location.hash == '#contact_thanks' ) {
      $('#contact_thanks').show();
    } 
});

有了这个:

$(document).ready(function() {
    if( window.location.hash == '#contact_thanks' ) {
      $.colorbox({inline:true, href:'#contact_thanks', width:700});
    } 
});
于 2012-08-23T11:01:40.303 回答
0

将此添加到您的 .js 文件中(假设您已加载 jQuery):

$(window).load(function() {
    if( window.location.hash == '#contact_thanks' ) {
      $('#contact_thanks').show();
    } 
});

但是您还需要编辑您的html:

<div id='contact_thanks' style='padding:10px; background:#fff; display:none'>
    <span class="colorBox">Thank you for your message!</span>
    <p>Thanks!</p>
</div>

实际上,最好将所有样式移动到您的 css 并应用于#contact_thanks。还有更好的选择,但实现起来会有点困难 - 通过 .ajax() 发送表单数据,然后在成功后显示您的消息。

于 2012-08-22T22:38:36.243 回答
0

您没有隐藏#contact_thanks div,而是隐藏了一些未命名的内容div

<div style="display: none">
  <div id="contact_thanks" style="padding-top: 10px; padding-right: 10px; padding-bottom: 
....

要么给那个未命名div的名字(id),然后$().show()用 jQuery 给它,或者只是隐藏实际的#contact_thanks div.

所以而不是:

<div style="display: none">
      <div id="contact_thanks" style="......

像这样:

<div id="give_the_div_a_name_either_way">
      <div id="contact_thanks" style="display: none"

然后用一点 jQuery:$("#contact_thanks").show();

应该做的伎俩。

于 2012-08-23T01:12:10.013 回答