2016-10-10 5 views
0

ボタンクリックで開く必要がある登録フォームdivがあります。ページの読み込み時にデフォルトでdisplay: noneに設定されています。 (私もはdiv要素を表示する必要があり、このコードを持っている開いているdivボタンが機能しない

$(document).ready(function(){ 
    <?php 
     if(isset($_POST['signUp']) && count($errors)>0){ 
    ?> 
    $ ('#home-sign-up-box').show(); 
    <?php 
     }elseif(isset($_POST['signUp']) && count($errors)==0){ 
    ?> 
     $('#home-sign-up-box').hide(); 
    <?php 
     }else{ 
    ?> 
     $('#home-sign-up-box').show(); 
    <?php 
     } 
    ?> 
}); 

:失敗したフォームを送信するには、私は(私はデフォルトでdisplay: inline-block設定でテストされ、機能している)私のJSファイルにこのコードを持っています上記のコードを追加する前に動作しました):

// Log in and sign up buttons 
$("#log-in-button").click(function() { 
    $("#home-log-in-box").show(); 
    $("#home-log-in-box").animate({ 
     "opacity":1 
    }, 115); 
    $(".body-darken").show(); 
    $(".body-darken").animate({ 
     "opacity":0.5 
    }, 115); 
}); 

$(".body-darken").click(function() { 
    $("#home-log-in-box").animate({ 
     "opacity":0 
    }, 115); 
    $("#home-log-in-box").hide(); 
    $("#home-sign-up-box").hide(); 
    $(".body-darken").animate({ 
     "opacity":0 
    }, 115); 
    $(".body-darken").hide(); 
}); 

$("#home-log-in-close").click(function() { 
    $("#home-log-in-box").animate({ 
     "opacity":0 
    }, 115); 
    $("#home-log-in-box").hide(); 
    $(".body-darken").animate({ 
     "opacity":0 
    }, 115); 
    $(".body-darken").hide(); 
}); 

$("#sign-up-button").click(function() { 
    $("#home-sign-up-box").show(); 
    $("#home-sign-up-box").animate({ 
     "opacity":1 
    }, 115); 
    $(".body-darken").show(); 
    $(".body-darken").animate({ 
     "opacity":0.5 
    }, 115); 
}); 

$("#home-sign-up-close").click(function() { 
    $("#home-sign-up-box").animate({ 
     "opacity":0 
    }, 115); 
    $("#home-sign-up-box").hide(); 
    $(".body-darken").animate({ 
     "opacity":0 
    }, 115); 
    $(".body-darken").hide(); 
}); 

これらは、同じファイル内に表示されている順番で並んでいます。本当にありがとう!どんな助けでも大歓迎です!

+0

あなたがここにJSに –

+0

をPHPを注入している私は、ウェブ開発に新たなんだ、それを行うには悪い考えですか?ありがとう! –

+1

それは悪い習慣です。私はこのためにajaxを使うことに目を向けるでしょう。それが '.js'ファイルで、' .php'ファイルであれば、JS/PHPタグを常に出入りする必要があるでしょう。 –

答えて

0

ラッセルC.

$ _POSTおろか、最も重要なポイントは、あなたのjsファイルはブラウザではなく、サーバーによって解析されることで、ブラウザは、PHPについて何も知りません。スタティックjは、インクルードする.jsファイルにのみ含めることができます。PHP変数に基づいて "動的" jsを記述する必要がある場合は、静的なjsファイルではなく、ページのヘッダセクションにインクルードする必要があります。私は次のようなことをします。 3本のJSラインが含まれている場合、PHPはその決定:

<?php 
    $html = "<head>\n"; 
    $html .= ... 
    $html .= "<script>\n"; 
    $html .= " $(document).ready(function(){\n"; 

    if(isset($_POST['signUp']) && count($errors)>0) { 
     $html .= "  $('#home-sign-up-box').show();\n"; 
    }elseif(isset($_POST['signUp']) && count($errors)==0){ 
     $html .= "  $('#home-sign-up-box').hide();\n"; 
    }else{ 
     $html .= "  $('#home-sign-up-box').show();\n"; 
    }; 

    $html .= " })\n"; 
    $html .= "</script>;\n"; 
    $html .= ... 
    $html .= "</head>\n"; 
    $html .= "<body>\n"; 
    $html .= ... 
    ... 
    echo $html; 

あなたのページは動作を停止した理由について私の推測では、ブラウザがあなたのjsファイル内のすべてが、phpのものをヒットし、船を放棄したということです。

幸運

関連する問題