淡入无法正常工作

时间:2011-06-18 02:50:52

标签: php javascript jquery

<script type="text/javascript">  
    $(document).ready(function($){
        $.supersized({
            //Background image
            slides  :  [ { image : 'images/pendulumWeb.jpg' } ]                 
        });

        $("form#submit").submit(function() {
            // we want to store the values from the form input box, then send via ajax below
            var email = $('#email').attr('value');
                $.ajax({
                    type: "POST",
                    url: "ajax.php",
                    data: "email="+ email,
                    success: function(){
                         $('form#submit').hide(function() {
                            $('div.success').fadeIn();
                        });
                    }
                });
            return false;
            });
        });

</script>

<div id="contact">
    <form id="submit" method="post">
        <legend>Enter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter InformationEnter Information</legend>
        <div id="submit">
            <input id="email" name="email" value="Email Address" size="20" type="text" />
            <button class="buttonPositive" type="submit">Submit</button>
        </div>
    </form>

    <div class="success" style="display: none;">We will email you shortly.</div>    
</div>

我很难弄清楚为什么当我点击提交按钮时,为什么我的成功后的文字(fadeIn)不会出现在提交按钮下方。我正在进行测试的控制台日志,但它会停在$('form#submit').hide(function()下面的控制台。也许我在这里错过了一些简单的东西?问题解决了!谢谢亚当

还有一件事!我的数据没有进入我的数据库..这是我的代码..我的主要ID为0,但没有数据。

// This is config.php //
$sql = mysql_connect("localhost","root","");

if (!$sql)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $sql);
//

include('config.php');

// CLIENT INFORMATION  
$email = htmlspecialchars(trim($_POST['email']));  

$addClient  = "INSERT INTO clientEmails (Email) VALUES ('$email')";
mysql_query($addClient) or die(mysql_error());

3 个答案:

答案 0 :(得分:1)

尝试将回调函数移至hide()

$('form#submit').hide();
$('div.success').fadeIn();

此外,您有一个具有相同ID的表单和div。我建议您应该更改其中一个,因为这可能是导致您的成功消息无法显示的原因。

广告@米

答案 1 :(得分:0)

jQuery中的hide() function将函数作为第二个参数。第一个参数是隐藏元素的动画的持续时间。如果您只想隐藏没有动画的提交按钮,则无需使用回调,只需调用hide()然后fadeIn()新元素即可。如果您确实需要动画,请将持续时间指定为第一个参数。

答案 2 :(得分:0)

hide is a duration的第一个参数,第二个参数是回调:

$('form#submit').hide(0, function() {
    $('div.success').fadeIn();
});