Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax修改文件中的JavaScript不';无法在主页上工作_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

ajax修改文件中的JavaScript不';无法在主页上工作

ajax修改文件中的JavaScript不';无法在主页上工作,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,当我使用JavaScript填充动态div时,我遇到了表单和ajax行为方面的问题 我有一个包含不同时间段的下拉框,它触发JavaScript函数,该函数根据提供的值修改容器div 问题是表单和所有JavaScript元素的POST行为在主文件中不起作用 这是代码。我简化了它以强调这个问题。 这是下拉框: //jQuery for datePicker comes here <select id="QSelector" method="post" onchange="populateDi

当我使用JavaScript填充动态div时,我遇到了表单和ajax行为方面的问题

我有一个包含不同时间段的下拉框,它触发JavaScript函数,该函数根据提供的值修改容器div

问题是表单和所有JavaScript元素的POST行为在主文件中不起作用

这是代码。我简化了它以强调这个问题。 这是下拉框:

//jQuery for datePicker comes here

<select id="QSelector" method="post" onchange="populateDiv(this.value)">
   <option value="0">All Values</option>
   <option value="1">Sets for 1</option>
   <option value="2">Sets for 2</option>
   <option value="3">Sets for 3</option>
   <option value="4">Sets for 4</option>
</select>

<div id="OUtputDiv" ></div>
这是支持文件的内容。不要介意
id
变量,它有一些逻辑(ant它可以工作),但我删除了它,因为它与给定的问题无关

  <?php

     $Id= $_GET['ID'];
      echo "<script> alert('it works'); </script>";
      echo "<form name='AddForm' class='AddForm' method='post' >";
      echo "<span > Date: &nbsp; </span> <input type='textbox' id='datepicker' name='datepicker' > &nbsp;";
      echo "<input type='submit' name='SubBtn' value='Save' >";
      echo "</form>";

      if(isset($_POST['SubBtn']))
      {
          echo $_POST["datepicker"];
      }
   ?>

避免使用IE5/6支持,改用jQuery:

问题是,你把所有的代码放在同一个页面上,它不会以这种方式工作,你需要制作2个文件,1个用于文章,1个用于结果

好:

test_post.php

<?php
      $Id = $_POST['id'];
      if(!empty($Id)){

          $result = "
                        <script> alert('it works'); </script>
                        <form name='AddForm' class='AddForm' method='post' >
                        <span > Date: &nbsp; </span> <input type='textbox' id='datepicker' name='datepicker' > &nbsp;
                        <input type='submit' name='SubBtn' value='Save' >
                        </form>
                    ";

          echo json_encode(array('status' => 'success', 'result' => $result));
      }
?>

避免使用IE5/6支持,改用jQuery:

问题是,你把所有的代码放在同一个页面上,它不会以这种方式工作,你需要制作2个文件,1个用于文章,1个用于结果

好:

test_post.php

<?php
      $Id = $_POST['id'];
      if(!empty($Id)){

          $result = "
                        <script> alert('it works'); </script>
                        <form name='AddForm' class='AddForm' method='post' >
                        <span > Date: &nbsp; </span> <input type='textbox' id='datepicker' name='datepicker' > &nbsp;
                        <input type='submit' name='SubBtn' value='Save' >
                        </form>
                    ";

          echo json_encode(array('status' => 'success', 'result' => $result));
      }
?>

有人吗?有什么想法吗?你能在功能上发布populateDiv的代码吗?第二行代码是
populateDiv
functionanybody?有什么想法吗?你能在功能上发布populateDiv的代码吗?第二行代码是
populateDiv
功能如果IE是6+就可以了,请在这里阅读更多信息:它在抱怨
第6行的未定义索引:id
我以前从未使用过jquery。我必须安装一些东西才能让它工作吗?你建议的脚本有Javascript替代方案吗?我对Jquery一点也不满意。我的意思是,如果我删除了IE支持表单,可以吗?如果IE是6+就可以了,请在这里阅读更多信息:它在抱怨第6行的
未定义索引:id
我以前从未使用过jquery。我必须安装一些东西才能让它工作吗?你建议的脚本有Javascript替代方案吗?我对Jquery一点也不满意。我的意思是,如果我把IE支架从那里取下来可以吗。?
<select id="QSelector">
   <option value="0">All Values</option>
   <option value="1">Sets for 1</option>
   <option value="2">Sets for 2</option>
   <option value="3">Sets for 3</option>
   <option value="4">Sets for 4</option>
</select>

<div id="OUtputDiv" ></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
    var $ =jQuery.noConflict(); 
    $(document).ready(function(){

        $(document).on( "change", '#QSelector',function(e) {
            e.preventDefault();
            var id = $(this).val();
            $.ajax({
                    type: "POST",
                    url:"<?php echo './test_post.php'; ?>",    
                    data: {id: id},
                    dataType: 'json',
                    success: function(data){
                        if(data.status == 'success'){
                            $('#OUtputDiv').html(data.result);
                        }
                    }
            });
        });
    });
</script>