简单的Ajax表单提交错误

时间:2012-09-20 20:50:08

标签: php mysql ajax forms

我正在尝试实现Ajax jQuery Form提交。我下面粘贴的代码不起作用。我收到了day monthyear

的未定义索引错误

jQuery Ajax

<script>
 $(document).ready(function() {
    $('#cal_submit').click(function(event) { 
      if ($('select[name="day"]').val() == '') {
            event.preventDefault();
            alert('Please enter a day');
        }
        else {
            event.preventDefault();
            new_day = $('select[name="day"]').val();
            new_month = $('select[name="month"]').val();
            new_year = $('select[name="year"]').val();
            $.get('function.php', { day: new_day, month: new_month, year:new_year} );
            $('select[name="day"]').val('');
            $('select[name="month"]').val('');
            $('select[name="year"]').val('');
        }
    }); 
});
</script>

处理php所在的函数。

function calendar()
{ 


        $j = mysql_real_escape_string($_GET['day']);
        $F = ucwords(mysql_real_escape_string($_GET['month']));
        $Y = mysql_real_escape_string($_GET['year']);
        $date =" ".$F." ".$j.", ".$Y." ";

   $query = "SELECT * 
              FROM calendar 
              WHERE event_day = '".$j."'
              AND   event_month = '".$F."'
              AND   event_year  = '".$Y."'" ; 
            $run = mysql_query($query);
            $norows = mysql_numrows($run);

            if ($norows < 1){
                echo "<div class=\"indexnoresult\">No TAP Event(s) for $date</div>" ;
            }  else {
            while($row = mysql_fetch_array($run)) {

                  echo "<div class=\"indexnoresult\">Event(s) for $date<br>
                   Name :   $row[event_name]  <br>
                   Time :   $row[event_time]   <br> 
                   Venue :  $row[event_venue]  <br>
                  </div> 
                 " ;



            }

            } ?>

HTML表单

     <form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" >

                Pick Date To View Events     

             <select name="day">
                    <option value ="">    </option>
                    <option value ="1">1</option>
                    <option value ="2">2</option>   
             </select> 

    Month
                <select name="month">
                    <option value ="">    </option>
                    <option value ="january">January</option>
                    <option value ="february"> february </option>
                    <option value ="march">March</option>
                 </select>

    Year:
                 <select name="year">
                    <option value ="">    </option>
                    <option value ="2005">2005</option>
                    <option value ="2006">2006</option>             
               </select>

    <input type='submit' name='cal_submit' id='cal_submit'>
    </form>
    </div> 

请问我哪里出错了。

1 个答案:

答案 0 :(得分:0)

更改以下块

        day = $('select[name="day"]').val();
        month = $('select[name="month"]').val();
        year = $('select[name="year"]').val();

以下

        new_day = $('select[name="day"]').val();
        new_month = $('select[name="month"]').val();
        new_year = $('select[name="year"]').val();