【问题标题】:How to add a record to table when hitting save using AJAX?使用 AJAX 保存时如何向表中添加记录?
【发布时间】:2014-06-25 10:25:38
【问题描述】:

我有一个从数据库加载的表。每当用户输入记录时,我都想要。记录应该添加到表中而不刷新整个页面。这应该在 AJAX 函数中。这是我的 JavaScript 代码:

$(document).ready(function(){
//save button listener  
$("#save").click(function(){
//receiving data entered by user from design.php        
     var name = $('#name').val();
     var email = $('#email').val();
     var telephone = $('#telephone').val();
     var username = $('#username').val();
     var password = $('#password').val(); 
     
$.ajax({
   type:'POST',
   url: 'contactData.php',             
   data:{"name":name,"telephone":telephone,"email":email, "username":username, "password":password},
  // dataType:'json',
   success: function(data) {
       ssword);
       var result = JSON.parse(data);
       $("#validate").html(result.msg);
      
                           }        
  });//end of ajax
     });//end of listener
        });//end of javascript

这是我的表(PHP):

<div class="table">
<?php 
 //connect to the database
   $username="root";
   $password="";
   $host="localhost";
   $connector = mysql_connect($host,$username,$password)
      or die("Unable to connect");
  $selected = mysql_select_db("mysql", $connector)
    or die("Unable to connect");

  //execute the SQL query and return records
  $result = mysql_query("SELECT * FROM users ");
  ?>
<table border="2" style= "background-color: #99ffcc; color: #761a9b; margin: 0 auto;">
<thead>
  <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Telephone</th>
        <th>Username</th>
        <th>Password</th>
      <tbody>
        <?php
          while( $row = mysql_fetch_assoc( $result ) )
          {
           echo "<tr>
                 <td>{$row['name']}</td>
                 <td>{$row['email']}</td>
                 <td>{$row['telephone']}</td>
                 <td>{$row['username']}</td>
                 <td>{$row['password']}</td>
                 </tr>\n";
           }
        ?>
     </tbody>    
   </tr>
</thead>
</table>
</div>

如何在 AJAX 函数中刷新表格?

【问题讨论】:

标签: javascript php mysql ajax


【解决方案1】:

为你的 tbody 添加一个类。

<tbody class="res-container">

在你的 AJAX 调用中,你可以试试这个。

data1: {name: name, telephone: telephone, email: email, username: username, password: password},
success: function(response) {
    var html = '<tr>';
    html = html + '<td>' + this.data1.name + '</td>';
    html = html + '<td>' + this.data1.email + '</td>';
    html = html + '<td>' + this.data1.telephone + '</td>';
    html = html + '<td>' + this.data1.username + '</td>';
    html = html + '<td>' + this.data1.password + '</td>';
    html = html + '</tr>';
    $('.res-container').append(html);
}

this.data1.name 基本上是在访问 ajax data1 属性。因此,无论您在此处分配什么名称,此处都应使用相同的名称。

更新:

我已修改代码以更新正确的值。我不能在成功内使用this.data。所以我创建了另一个名为data1 的属性并使用this.data1 来访问它。

【讨论】:

  • 对不起朋友!!! (添加感叹号是因为评论需要最少字符数)
  • 它正在添加一行但具有未定义的值,为什么会这样??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
相关资源
最近更新 更多