dpmwy80068
dpmwy80068
2012-05-30 01:25
浏览 30

使用Get方法取消jQuery

I am using Jquery and it is working perfectly until i submit a form using Get Method.

I am trying to get information between 2 dates. Here is my code:

date.php:

......

$date1 = $_GET['date1'];
$date2 = $_GET['date2'];
echo"<Form method='get' action=''>
<label>From: </label> <input class='date' id = 'date1' type='date' name='date1' size='9' value = '$date1'></input>
<label>To: </label> <input class='date' id = 'date2' type='date' name='date2' size='9' value = '$date2'></input> <br/> ";

echo "<input type='submit' class = 'center' value='submit' name='submit'>";
echo'</Form>';

if($date1 != '' && $date2 != '' ){
report($date1,$date2);
}
......

<script type='text/javascript' src='js/jquery.js'></script>
<script type='text/javascript' src='js/jquery-ui.js'></script>
<script type='text/javascript' src='js/ui.js'></script> //my jquery functions

......

ui.js:

$('.date').datepicker({dateFormat: 'yy-mm-dd'});

function toggleReport(table){   
$('#'+table).toggle('slow').colSpan = 3;
}

Is there anything wrong with my GET method in my form? should i use ajax instead? if i should, how do i use Get in ajax? until now i only used ajax with post method

THANKS!!!

EDIT: it seems that it this whole thing wasn't my problem, something in my php is the problem.

I really got confused, i updated the date.php file above

Here is the report function:

function report($date1,$date2){

 $id = $_SESSION['id'];
 $techs = mysql_query("SELECT * FROM TECHS WHERE COMP_ID = '$id'")
 or die(); 
 $comps = mysql_query("SELECT * FROM COMPS WHERE COMP_ID = '$id'")
 or die(); 


  echo '<h1>Technicians</h1>';
  //tech Table
  echo "<table id='center'><tr><th id='hello'>Tech</th><th id='hello'>jobs</th><th    id='hello'></th></tr>";

 while($info = mysql_fetch_array( $techs ))  
{
$name = $info['Name'];
$jobs = mysql_query("SELECT * FROM JOBS WHERE COMP_ID = '$id' AND Technician = '$name' AND Date >= '$date1' AND Date <= '$date2' ORDER BY Date ASC") or die(); 
    $data = mysql_fetch_array( $jobs );

$number = mysql_num_rows($jobs);
if($number>'0'){
$name_st = remove_spaces($name);
$name_st.= '_t';
echo "<tr><td>$name</td><td>$number</td><td><img onclick='toggleReport(\"$name_st\");' src='images/report.png' border='0' alt='View report' title='View report'>
    </td></tr>";

    echo"
    <tr><td colspan='3' style='width:99%;' id='$name_st'  >
    <table >
        <th id='hello'>invoice</th><th id='hello'>Job ID</th><th id='hello'>Company</th><th id='hello'>Date</th><th id='hello'>Address</th><th id='hello'>Tech %</th><th id='hello'>Total</th><th id='hello'>Parts</th><th id='hello'>Company Parts</th><th id='hello'>Cash</th><th id='hello'>CC</th><th id='hello'>Check</th><th id='hello'>Fees</th><th id='hello'>Addt. Fees</th><th id='hello'>Company Balance</th><th id='hello'>Tech Balance</th><th id='hello'>Profit</th>

        ";
         $job = mysql_query("SELECT * FROM JOBS WHERE COMP_ID = '$id' AND Technician = '$name' ORDER BY Date ASC") or die(); 

        while($j = mysql_fetch_array( $job )){
            echo "<tr><td>".$j['invoice'].'</td>'.'<td>'.$j['jobID'].'</td>'.'<td>'.$j['Company'].'</td>'.'<td>'.$j['Date'].'</td>'.'<td>'.$j['Address'].'</td>'.'<td>'.$j['Tech_per'].'%</td>'.'<td>'.$j['Total'].'</td>'.'<td>'.$j['parts'].'</td>'.'<td>'.$j['comp_parts'].'</td>'.'<td>'.$j['cash'].'</td>'.'<td>'.$j['cc'].'</td>'.'<td>'.$j['check'].'</td>'.'<td>'.$j['fees'].'</td>'.'<td>'.$j['addt. fees <br> need to fix'].'</td>'.'<td>'.$j['comp_total'].'</td>'.'<td>'.$j['tech_total'].'</td>'.'<td>'.$j['profit'].'</td></tr>';
        }


        echo"
    </table></td></tr>";

}
  }
 echo '</table>';
 echo '<h1>Companies</h1>';
  echo "<table id='center'><tr><th id='hello'>Companies</th><th id='hello'>jobs</th><th   id='hello'></th></tr>";

   while($info = mysql_fetch_array( $comps ))  
 {
 $name = $info['name'];
 $jobs = mysql_query("SELECT * FROM JOBS WHERE COMP_ID = '$id' AND Company = '$name' Date >= '$date1' AND Date <= '$date2'  ORDER BY Date ASC") or die(); 
    $data = mysql_fetch_array( $jobs );

$number = mysql_num_rows($jobs);
if($number>'0'){
$name_st = remove_spaces($name);
$name_st.= '_d';
echo "<tr><td>$name</td><td>$number</td><td><img onclick='toggleReport(\"$name_st\");' src='images/report.png' border='0' alt='View report' title='View report'>
</td></tr>";

    echo"
    <tr><td id='$name_st' class = 'hidden' colspan='3'>
    <table >
        <th id='hello'>invoice</th><th id='hello'>Job ID</th><th id='hello'>Company</th><th id='hello'>Date</th><th id='hello'>Address</th><th id='hello'>Comp %</th><th id='hello'>Total</th><th id='hello'>Parts</th><th id='hello'>Company Parts</th><th id='hello'>Cash</th><th id='hello'>CC</th><th id='hello'>Check</th><th id='hello'>Fees</th><th id='hello'>Addt. Fees</th><th id='hello'>Company Balance</th><th id='hello'>Tech Balance</th><th id='hello'>Profit</th>

        ";
         $job = mysql_query("SELECT * FROM JOBS WHERE COMP_ID = '$id' AND Company = '$name' ORDER BY Date ASC") or die(); 

        while($j = mysql_fetch_array( $job )){
            echo "<tr><td>".$j['invoice'].'</td>'.'<td>'.$j['jobID'].'</td>'.'<td>'.$j['Company'].'</td>'.'<td>'.$j['Date'].'</td>'.'<td>'.$j['Address'].'</td>'.'<td>'.$j['Comp_per'].'%</td>'.'<td>'.$j['Total'].'</td>'.'<td>'.$j['parts'].'</td>'.'<td>'.$j['comp_parts'].'</td>'.'<td>'.$j['cash'].'</td>'.'<td>'.$j['cc'].'</td>'.'<td>'.$j['check'].'</td>'.'<td>'.$j['fees'].'</td>'.'<td>'.$j['addt. fees <br> need to fix'].'</td>'.'<td>'.$j['comp_total'].'</td>'.'<td>'.$j['tech_total'].'</td>'.'<td>'.$j['profit'].'</td></tr>';
        }


        echo"
    </table></td></tr>";

   }
 }
 echo '</table>';


}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doujing6053
    doujing6053 2012-05-30 02:14
    已采纳

    Your form has a blank action attribute:

    <Form method='get' action=''>
    

    You need to put the URL you want to submit to in there, e.g., to submit back to the same 'date.php' page:

    <form method='get' action='date.php'>
    

    (I am assuming you are not trying to set it from JS because you said in a comment that "all" of your JS is a single statement that initialises your datepicker controls. If that is not the case please update your question to show all of the JS code related to the form.)

    EDIT: Sorry, I think I misunderstood the problem. I thought you meant that the form wasn't working properly. If you're saying that your JS isn't working properly it is probably because it is running before the page has loaded. Within your ui.js file try wrapping your JS in a document ready handler:

    $(document).ready(function() {
        $('.date').datepicker({dateFormat: 'yy-mm-dd'});
    });
    

    Having said that, if you are submitting the page back to itself then Ajax would be a reasonable alternative.

    "how do i use Get in ajax?"

    Look at the $.get() and $.ajax() doco - apparently "GET" is actually the default for the type parameter.

    点赞 评论

相关推荐