2011-06-18 5 views
0
<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> 

を動作しないで、私は私の成功(フェードイン)の後に私のテキストは表示されませんなぜ私は私の送信ボタンをクリックして、なぜとき考え出す苦労しています送信ボタンの下に表示されます。私はテストのコンソールログをやっていますが、すぐにコンソールに行くことをやめます。$('form#submit').hide(function() ..ここには何か簡単なものがありませんか?問題は解決しました!ありがとうAdam

もう1つ!私のデータは私のdbに到達していません。..私のコードです。私は0の一次IDを取得していますが、データはありません。

// 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()); 
+0

がhideの仕事をしていますか? –

+1

[私のための作品](http://jsfiddle.net/jwmhv/)。 'hide()'は実際にコールバックの前に持続時間を持たなければなりませんが、jQueryはそれをダックタイプし、持続時間をデフォルト値に設定します。 – user113716

+1

ここでうまく動作します:http://jsfiddle.net/thomas4g/DKpHM/2/ ...おそらくあなたの超大型のwhatchamacallitが干渉していますか? –

答えて

1

hide()にコールバック関数を削除してください:

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

また、フォームと同じIDを持つdiv要素を持っています。あなたの成功メッセージが表示されない原因になっている可能性があるので、あなたはそのうちの1つを変更することをお勧めします。

広告@ mは

0

のjQueryでhide() function 2番目の引数としての機能を取ります。最初の引数は、要素を非表示にするアニメーションの継続時間です。アニメーションなしで送信ボタンを非表示にする場合は、コールバックを使用する必要はありません。hide()を呼び出してから、新しい要素fadeIn()を呼び出してください。アニメーションが必要な場合は、継続時間を最初の引数として指定します。

+1

実際にコールバックhttp://jsfiddle.net/X49Er/で動作する理由はわかりませんが、どうしようもありません。 –

0

hide is a durationの第一引数、第二引数は、コールバックです:

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