我有显示用户信息的表列表。顶部会有一个修改链接。我需要通过Ajax更新表单,而不是转到另一个页面来更新它。 这是我的代码。
<?php while ($row = mysql_fetch_assoc($displayer)){
echo("<tr><td>First Name</td><td>" . $row['first_name'] . "</td> </tr>");
echo("<tr><td>Last Name</td><td>" . $row['last_name'] . "</td> </tr>");
echo("<tr><td>Email</td><td>" . $row['email'] . "</td> </tr>");
echo("<tr><td>Country</td><td>" . $row['country'] . "</td> </tr>");
echo "<a class='page' href='amend.php?id=" .urlencode($row['users_id']) . "&firstname=" .urlencode($row['first_name']) . "&lastname=".urlencode($row['last_name']) ."'>Amend Record</a></td></tr>";
?>
任何人都可以告诉我如何在同一页面上使用Ajax更新表单。
答案 0 :(得分:0)
进入这些需要非常冗长的答案的细节...尽管如此,我将强调一些重要的起点。
首先,您需要一个带有关于链接的处理程序的JS文件。 当单击链接时,必须进行ajax请求...有多种方法可以做到这一点但我个人使用jquery的$ .ajax ....在请求中你必须收集反映表单输入值的变量。 ...然后将这些值发送到进行验证的PHP脚本,如果成功,则更新数据库中的相应值。在请求中,您还必须指定此脚本所在的URL。
这个ajax请求虽然包含2个重要的回调...错误和成功...在它们中你必须编写代码来处理请求成功与否的情况....例如你更新他的值当您确定这确实发生在数据库中并且您可以在PHP脚本中对其进行检查时,表单中的形式... PHP脚本回显的任何值都必须使用json_encode完成...并且您可以访问这些值使用成功callback.AS的数据参数我说有一个错误回调也..这是由各种原因触发的...它的URL错误或者没有从服务器返回JSON。
以上这些只是出发点...我正在制定一般方法。
答案 1 :(得分:0)
/* AJAX using jQuery */
// attach event to your <a> upon click
$(document).on('click','a.page', function(e) {
e.preventDefault()
var sURL = $(this).attr("href"); // url to call for amend
update( sURL ) // call the function update
});
// update() function that is called after clicking anchor tag
function update( _url )
{
$.ajax({
method: 'POST',
url: _url,
success: function() {
alert("Amend Success)";
},
error: function( c ) {
alert("Internal server error. Check your browser console");
console.log( c.responseText )
}
})
}
注意:将此放在&lt; / body&gt;之前标签