2009-07-30 8 views
0

に該当する場合は、メッセージにフェードん..どのように値が値は、その後どのように私は私のjqueryの機能を発射ん 真である場合によっては、GET経由でPHPのページに値を渡すGET

が現在しようページ..に

<script type="text/javascript" language="javascript"> 
function showError(){ 
    $('#errormsg').fade(1000); 
    $('#errormsg').html('<div class="error"><p>failed</p></div>'); 
} 
</script> 

PHP:彼らは、ブラウザでJavaScriptを置く理由

<?php if(isset($_GET['error'])) { ?> 
    <script type="text/javascript" language="javascript"> 
    showError(); 
    </script> 
<?php } ?> 

答えて

-4

あなたは知っていますか?サーバーに送信する前にjavascriptのエラー値を確認してください。サーバー上の値をチェックしないで、エラーメッセージを表示するjavascript関数を呼び出すページを送り返します。これは、サーバーへの不要なトリップです。

+0

あなたがダウンボートするときにコメントするのがよいマナーです。私はこの答えを自分自身にはっきりと伝えませんでしたが、サーバーリソース(つまりデータベース)へのアクセスを行わずに検証ロジックを実装できない頻度があるため、これが投票されたと思います。おそらく議論の余地もあるでしょう。 –

+0

クライアント側とサーバー側の両方でエラーをチェックすることは、有効なベルトアンドサスペンダー技術です。また、javascriptがこれを検証する賢明な方法ではない場合もあります(この人の電子メールはすでに200K +メンバーデータベースにあります)。 –

+0

私は答えを残したので、私はダウン投票にコメントしなかった。そして、エラーは明らかにサーバ上で検証されなければならないエラーではなく、エラー変数はリクエストに含まれています! – SquareRootOf2

1

showError()を呼び出す前に、DOMが準備完了するまで待つ必要があります。

<?php if(isset($_GET['error'])) { ?> 
    <script type="text/javascript" language="javascript"> 
     $(document).ready(function() { 
      showError(); 
     }); 
    </script> 
<?php } ?> 

私はおそらくしかし、このアプローチを取る:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var showError = <?php echo (isset($_GET['error']) ? 'true' : 'false'); ?>; 
     if (showError) { 
      showError(); 
     } 
    }); 
</script> 
0

この作品、

<script type="text/javascript" language="javascript"> 
    $(document).ready(function() { 
     $('#errormsg').hide(); 
     var showError = <?php echo (isset($_GET['accesscheck']) ? 'true' : 'false'); ?>; 
     if (showError) { 
      $('#errormsg').fadeIn(2000); 
      $('#errormsg').html('Login Failed or Session Expired.'); 
      $('#errormsg').fadeOut(10000); 
     } 
    }); 
    </script> 

はただの応答を..ページ おかげ<div id="errormsg"></div>を入れて覚えておく必要があります。

+0

4つの別々の$( '#errormsg')は必要ありません。 1は、varに格納し、それを使用します。 – redsquare

関連する問題