首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模式Ajax无法填充

模式Ajax无法填充
EN

Stack Overflow用户
提问于 2018-03-12 04:49:04
回答 2查看 63关注 0票数 0

我不知道为什么这个模式没有填充post ajax数据。它实际上应该在我的SQL成功的时候更新行,但是我得到的错误是"Uncaught :无法读取属性值为null“。有人知道为什么会失败吗?

更新:我很抱歉遗漏了生成合作伙伴项目的php。

HTML:

代码语言:javascript
运行
复制
while($row = mysqli_fetch_array($partners)) {
 //   $optionsPartners .="<option>" . $row['Partners'] . "</option>";
      $optionsPartners.="<input type='checkbox' name='Partners[]'  value=".$row['Partners']."> ".$row['Partners']."<br>";
 }

$partnersmenu=

    /*"<select name='Partners' id='Partners'>
      " . $optionsPartners . "
    </select>"*/
    $optionsPartners;

?>
   <div id="id02" class="modal">
  <span onclick="document.getElementById('id02').style.display='none'" 
class="close" title="Close Modal">&times;</span>
  <!-- Modal Content -->
  <form class="modal-content animate" action="modify_records.php" method="post">

    <div class="container">
       <h3>Edit an Existing Project</h3>
          <label for="Project_Name" class="ui-hidden-accessible">Project Name:</label>
          <input type="Project_Name" name="Project_Name" id="Project_Name" placeholder="Project Name">
          <br><br>
          <label for="Partners" class="ui-hidden-accessible">Partners:</label>
          <?php
          echo $partnersmenu;
          ?>
          <br><br>
  <input type="button" id="edit_button<?php echo $row['id'];?>" class="btn" value="Submit" data-dismiss="modal"  onclick="edit_row('<?php echo $row['id'];?>');">
          <button type="button" onclick="document.getElementById('id02').style.display='none'" class="cancelbtn">Cancel</button>
    </div> 
    <div class="container" style="background-color:#f1f1f1">
    </div>
  </form>
</div>

PHP:

代码语言:javascript
运行
复制
if(isset($_POST['edit_row']))

    {
     $row=$_POST['id'];
     $Project_Name=$_POST['Project_Name'];
     $Partners=$_POST['Partners'];

     mysqli_query($conn,"update Project_Detail set Project_Name='$Project_Name',Partners='$Partners' where id=$row");
     echo "success";
     exit();
    }

联署材料:

代码语言:javascript
运行
复制
   function edit_row(id)//save_row(id)
    {
     //var id=document.getElementById("id"+id).value;
     var id=document.getElementById("id"+id);
     var Project_Name=document.getElementById("Project_Name"+id).value;
     var Partners=document.getElementById("Partners"+id).value;
             $.ajax
     ({
      type:'post',
      url:'modify_records.php',
      data:{
       edit_row:'edit_row',
       id:id,
       Project_Name:Project_Name,
       Partners:Partners,
       },
      success:function(response) {
       if(response=="success")
       {

        //document.getElementById("id"+id).innerHTML=id;   
        document.getElementById("Project_Name"+id).innerHTML=Project_Name;
        document.getElementById("Partners"+id).innerHTML=Partners;
        //document.getElementById("edit_button"+id).style.display="block";
       // document.getElementById("save_button"+id).style.display="none";
       }
      },
      error: function(response) {
         alert("some error");
      }
     });
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-12 05:38:02

我看到了一些问题,它们都与您如何在javascript中调用元素以及如何在html中标记元素有关。

示例:

代码语言:javascript
运行
复制
<input type="Project_Name" name="Project_Name" id="Project_Name" placeholder="Project Name">

应该是这样的:

代码语言:javascript
运行
复制
<input type="text" name="Project_Name" id="Project_Name<?php echo $row['id']; ?>" placeholder="Project Name">

查看所有元素,然后查看js,以便调用正确的ids。

同样在我上面复制的html中,我将类型更改为"text“。

另外,我看不到有"Partners“id的元素,更不用说"Partners”+ id了。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2018-03-12 05:20:47

试一试

代码语言:javascript
运行
复制
var id=document.getElementById("id");

而不是

代码语言:javascript
运行
复制
var id=document.getElementById("id"+id);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49228310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档