错误使用php中的jquery发布表单值

时间:2012-06-09 09:14:34

标签: php jquery

我创建了一个使用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变量的空值!!!

请尽快帮助!!!

3 个答案:

答案 0 :(得分:1)

如果您不通过提交表单刷新页面,则必须返回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;
});

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

你的答案帮了我很多!!!我发现问题出在capaigndata.php

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

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