0

時刻値を選択するための 2 つのドロップダウン コンボボックスである 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 変数のエコーで null 値を示します。

4

3 に答える 3

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 に答える
0

mysql_real_escape_string()フォーム メソッドを使用して投稿するように変更するには、データベースに接続する必要があります。

于 2012-06-09T09:17:29.870 に答える
-1

あなたの答えは私を大いに助けました!!! 問題はcapaigndata.phpにあることがわかりました

$ _POST ['']の前にmysql_real_escape_string()を使用していました;

問題を引き起こしていた。それらを削除し、通常の$ _POST []を使用すると、魔法のように機能しました。:)

于 2012-06-09T09:39:05.283 に答える