0

我制作了一个使用 jquerydatepicker 的简单页面,两个下拉组合框用于选择时间值。我试图发布这些值,但页面被重定向到自身,并使用 url 中显示的选定值,并且我在接收方页面上没有得到任何值。

这是脚本:

<script type="text/javascript">

 $(document).ready(function(){
    var jQueryDatePicker1Opts = {
      dateFormat: 'mm/dd/yy',
      changeMonth: false,
      changeYear: false,
      showButtonPanel: true,
      showAnim: 'fadeIn'
   };

   $("#jQueryDatePicker1").datepicker(jQueryDatePicker1Opts);
   $("#jQueryDatePicker1").datepicker("setDate", "new Date()");
   $('#submit').click(function() {
  var startTime = parseInt($('#Combobox1 option:selected').text());
  var endTime = parseInt($('#Combobox2 option:selected').text());

  if(startTime>=endTime){
         alert("End Time should not be less than Start Time !");
     return false;
      }         
   });
   $("#Campaign_form").submit(function(){  
 $.post({type:'POST', url:'campaigndata.php' ,
            data:$('#Campaign_form').serialize(), success: function(response) {
                $('#Campaign_form').find('.form_result').html(response);
    }});
    var isValid = $.validate.form(this);
         return isValid;
    });
  });
</script>

这是表单脚本:

 <form name="Campaign_form" id="Campaign_form" >
      <input type="text" id="jQueryDatePicker1" name="jQueryDatePicker1" value="06/09/2012">
      <select name="StartTime" size="1" id="Combobox1" >
         <option value="1">01:00</option>
         ...
         <option value="24">23:00</option>
      </select>
      <select name="EndTime" size="1" id="Combobox2" >
         <option value="1">01:00</option>
          ...
         <option value="24">00:00</option>
      </select>
      <select name="SelectApp" size="1" id="Combobox3" >
      <?php 
          while($row = mysql_fetch_array($result)){
             echo "<option value =".$row['AppName'].">".$row['AppName']."</option>";
          }
      ?>
      </select>
      <input type="submit" id="submit" name="submit" value="submit" >
   </form>

这是campaigndata.php 脚本:

 <?php
    $campaignDate =  $_POST['jQueryDatePicker1'];
    $camp_Start_Time =  mysql_real_escape_string($_POST['StartTime']);
    $camp_End_Time =  mysql_real_escape_string($_POST['EndTime']);
    $campaignID = $appid.$campaignDate.$camp_Start_Time ;   
 ?>

此campaigndata.php 在回显php 变量时显示空值。

4

3 回答 3

0

您需要先连接到数据库,然后才能使用mysql_real_escape_string()并更改要发布的表单方法。

于 2012-06-09T09:17:29.870 回答
0

如果您不通过提交表单刷新页面,则必须返回 false

$("#Campaign_form").submit(function () {
    var isValid = $.validate.form(this);
    if (isValid)
        $.post({type:'POST', url:'campaigndata.php',
            data:$('#Campaign_form').serialize(), success:function (response) {
                $('#Campaign_form').find('.form_result').html(response);
            }});

    return false;
});
于 2012-06-09T10:01:08.940 回答
-1

你的回答对我帮助很大!!!我发现问题出在 capaigndata.php

我在 $_POST[''] 之前使用 mysql_real_escape_string() ;

这造成了问题。我删除了这些并使用了正常的 $_POST[] 并且它神奇地工作!:)

于 2012-06-09T09:39:05.283 回答