2016-05-18 7 views
0

私はAJAXプロセスでHTMLフォームのselectオプションから変数を送信し、そこから別の選択メニューを作成しています。基本的に何が起きるかは、たとえば、ユーザがFeburaryの月を選択した場合、PHPスクリプトに送信される変数は「02」になり、新しいドロップダウンボックスには29のオプションがあります。問題は、私のスクリプトが02が送られてきたと言っているにもかかわらず、その日はすべて駄目です。日は間違っているにもかかわらず、しかしの月に関連するようには見えません。常に一貫して間違っています。 2月は29日印刷されませんが、例えば、それは常に一貫して「30」の日のオプションを印刷しますが、それは30、または8000AJAXは予期しない動作をしました

のかどうかに関係なくは、ここに私のjavascriptファイルです:

$(document).ready(function() {  //Makes sure page is loaded. 

    /* === LINKS === 
     Controls the links (site behaviour) via JQuery (as 
     defined by the Assignment CRA). 
    */ 
    $('#home').html('<a href="./index.php">Home</a>'); 
    $('#signup').html('<a href="./signup.php">Sign Up</a>'); 
    $('#activities').html('<a href="./activities.php">Upcoming Activities</a>'); 
    $('#feedback').html('<a href="./feedback.php">Student Feedback</a>'); 
    $('#contact').html('<a href="./contact.php">Contact</a>'); 


    /* === STAFF INFORMATION TOGGLE === 
     Displays or hides information about 
     staff members on click. 
    */ 
    /* 
    $('#spongeimage').click(function() { 
     $("#spongeinfo").slideToggle("slow"); 

    });*/ 

    $(".staff").click(function() { 
    //alert("FUCK"); 
     $(".staffinfo", this).slideToggle("slow"); 

    }); 


    $('#year').change(function() { 
     $("#month").slideToggle("slow"); 

    }); 

    $('#month').change(function() { 
     var month_var = $("#month").val(); 
     var dataString = 'name1='+ month_var; 
     //Start 

    $.ajax({ 
     type: "POST", 
     url: "./javascript/month_post.php", 
     data: dataString, 
     dataType: "text", 
     success: function(data) { 
      //alert(dataString); 
      $("#day").html(data); 
      $("#okay").html(dataString); 
     } 
    }); 



     //End 

     $("#day").slideToggle("slow"); 

    }); 




    /* === 'FIRST NAME' FORM FOCUS 
     Focuses the cursor on the 'first name' 
     field when the Student Feedback page 
     is loaded. 
    */ 
    $('input[name="firstname"]').focus(); 



    /* === HOVER EFFECTS === 
     The effects that occur after hovering over 
     an item on the link bar (1.0) and one of 
     the two buttons on the Student Feedback 
     page (1.1). 
    */ 

    //(1.0) 
    $("li a").hover(function(){ 
      $(this).css({"color": "#000000", "background-color": "#5590ff"}); 
      }, function(){ 
      $(this).css({"color": "#333", "background-color": "#FFFFFF"}); 
    }); 

    //(1.1) 
    $("formbutton").hover(function(){ 
      $(this).css({"color": "#000000", "background-color": "#5590ff"}); 
      }, function(){ 
      $(this).css({"color": "#333", "background-color": "#FFFFFF"}); 
    }); 

}); 

ここに私のPHPファイルには、次のとおりです。

<?php 
echo $name; 

if(isset($_POST["name1"])) 
{ 


$name = $_POST["name1"]; 
//echo $name; 
// Here, you can also perform some database query operations with above values. 
//echo "Welcome ". $name ."!"; // Success Message 
$counter = 1; 

//echo "<select name='gday'>"; 

if($name == 02) 
{ 
    $monthdays = 29; 
} 
if($name == 06 || $name == 09 || $name == 04 || $name == 11) 
{ 
    $monthdays = 30; 
} 
else 
{ 
    $monthdays = 31; 
} 


while ($counter <= $monthdays) 
{ 

    echo "<option value='hi'>".$counter."</option>"; 

    $counter++; 
} 
//echo "</select>"; 


} 


?> 

そして、ここでは私のHTMLファイルです:

<!DOCTYPE html> 
<html> 
<head> 
    <title>KIT411 - Homepage</title> 
    <link rel="stylesheet" href="./CSS/style.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    <script src="./javascript/script.js"></script> 
</head> 
<body> 

    <!-- TITLES  --> 
    <div class="titles"> 
    &zwnj; <!-- Blank character, to ensure the titles div extends to the top of the page. --> 
     <h1 class="title">KIT411</h1> <!-- Unit name. --> 
     <h2 class="subtitle">Sign Up</h2>  <!-- Page name. --> 
    </div> 
    <div class="right"> 

    <?php 
    include('login.php'); 
    ?> 

    </div> 

    <!-- PAGE LINKS 
      Links are controlled by JQuery, which is why 
      there are no <a></a> tags. --> 
    <?php 
    include('PHP/linkbar.php'); 
    ?> 

    <div class="center"> 
     <div class="inline"> 
     <?php 
     include('./db-connection/register.php'); 
     ?> 
      <div id="okay">TEST </div> 
      <form method="post" action=""> 
       Username:<br> 
       <input type="text" name="usr" value="<?php echo $user; ?>"><br> 
       Password:<br> 
       <input type="password" name="pass" value="<?php echo $password; ?>"><br> 
       Retype Password:<br> 
       <input type="password" name="pass2" value="<?php echo $passwordTwo; ?>"><br> 
       Name:<br> 
       <input type="text" name="name" value="<?php echo $name; ?>"><br> 
       DOB:<br> 

       <select id="day" name="dobDay"> 
       <?php 
       $counter = 1; 


       while($counter <= 31) 
       { 
       ?> 
       <option value="<?php echo $counter; ?>"><?php echo $counter; ?></option> 
       <?php 
       $counter++; 
       } 
       ?> 
       </select> 


       <select id="month" name="dobMonth"> 
       <option value="01">January</option> 
       <option value="02">February</option> 
       <option value="03">March</option> 
       <option value="04">April</option> 
       <option value="05">May</option> 
       <option value="06">June</option> 
       <option value="07">July</option> 
       <option value="08">August</option> 
       <option value="09">September</option> 
       <option value="10">October</option> 
       <option value="11">November</option> 
       <option value="12">December</option> 
       </select> 

       <select id="year" name="dobYear"> 
       <?php 
       $counter = 1100; 
       while($counter <= 2016) 
       { 
       ?> 
       <option class="yearClass" value="<?php echo $counter; ?>"><?php echo $counter; ?></option> 
       <?php 
       $counter++; 
       } 
       ?> 
       </select> 

       <br> 
       Email:<br> 
       <input type="text" name="email" value="<?php echo $email; ?>"><br> 

       <input type="submit" name="submit" value="Sign Up"> 
      </form> 

     </div> 
    </div> 


<?php 
    include('PHP/footer.php'); 
    ?> 
</body> 
</html> 

任意のヘルプのw私のコードに誓いがある場合は、申し訳ありません。時々私はテストをしながら、それらを削除することを忘れて少し楽しいです。とにかく、どんな助けも進歩です。

答えて

0

問題はPHPコードで、日数を設定しようとすると発生します。 ifif ... elseの1つがありますが、期待どおりに動作しません。

if($name == 02) 
{ 
    $monthdays = 29; 
} 

場合は、最初にこれを持っており、この1の後:それは唯一の2つの選択肢がありますので

if($name == 06 || $name == 09 || $name == 04 || $name == 11) 
{ 
    $monthdays = 30; 
} 
else 
{ 
    $monthdays = 31; 
} 

この最後の1は、30または31に日数を設定します。ここではelseif制御構造を使用できます。 http://php.net/manual/en/control-structures.elseif.php

if ($name == 02) 
{ 
    $monthdays = 29; 
} 
else if ($name == 06 || $name == 09 || $name == 04 || $name == 11) 
{ 
    $monthdays = 30; 
} 
else 
{ 
    $monthdays = 31; 
} 
+0

おっと!私は自分の問題がそれよりはるかに大きいと思ったので、私は細部を見落としました。本当にありがとう。 – PL200

関連する問題