使用Ajax请求编辑行
Editing a row using an Ajax request
这里我展示了4个文件,我使用这些文件通过从数据库中获取数据来编辑表的行。
第一个文件是DataAdministration.php。当加载这个文件时,应该显示#loading_Page7,点击#EditForms后,我需要显示#Loadg_Page8div。当它第一次显示时,我需要将DisplayData.php加载到#loading_Page8div中。为了支持这一点,我使用了Update.js文件。加载DisplayData.php后,我需要通过单击编辑链接来编辑选定的行。然后需要在相关的FormName列中显示可编辑的输入框。我需要使用单独的文件,而不是像在这里使用的那样将它们写在同一个文件中。但点击编辑链接后,ajax请求不会发送到UpdateData.php文件。
我已经处理这个问题很多天了,但还没能解决。这是一个很长的问题。但请有人好心地表明我的错误。
<html>
<head>
<script type='text/javascript' src='Update.js'></script>
<script src="jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(){
$("#Loading_Page8").hide();
$("#EditForms").click(function(){
$("#Loading_Page7").hide();
$("#Loading_Page8").show();
ABC();
C();
return false;
});
});
</script>
</head>
<body>
<div id="Loading_Page7" >
<div id="EditForms" class="AddUser">
<li><a href=""><span>Edit/Delete Forms</span> </li></a>
</div>
</div>
<div id="Loading_Page8">
<div class="User" style="color:#0B173B">Forms_Available_to_Collect_Pubic_Health_Information </div>
<div id="DisplayFormDetails" style="position:absolute; top:100px; width:1000px;">
</div>
</div>
</body>
</html>
这是Update.js文件
function ABC(){
$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "DisplayData.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#DisplayFormDetails").html(response);
//alert(response);
}
});
C();
}
function C() {
$(".FormEdit").click(function(){
var B=$(this).attr('id');//ID comming is FormEdit3. And now B==4
var NumericValue=B.replace("FormEdit","");
$.ajax({
type:"POST",
url:"UpdateData.php",
data:{ NumericValue : NumericValue },
success:function(data){
$("#FormName"+NumericValue).html(data);
},
error: function (err){
alert(err.responseText)
}
});
});
}
这是DisplayData.php
<?php
include 'connectionPHP.php';
$result=mysqli_query($con,"SELECT * FROM Form");
echo "<table border='1' >
<tr style='background-color:#D0A9F5;' height='40px;'>
<th width='100px;'>Form ID</th>
<th width='420px;'>Form Name</th>
<th width='70px;'>Edit</th>
</tr>";
$i=1;
while($row = mysqli_fetch_array($result)) {
$w=$row['Form_ID'];
echo "<tr height='25px;'>";
echo "<td name='FormID' id='FormID ".$i."' align=center>$row[Form_ID] </td>";
echo "<td name='FormName' id='FormName".$i."' align=left>$row[Form_Name]</td>";
echo "<td class='FormEdit' id='FormEdit".$i."' align=center><a href='' align=left>Edit</a></td>";
echo "</tr>";
$i++;
}
echo "</table>";
?>
以及Finally UpdateData.php文件。
<?php
include 'connectionPHP.php';
if(isset($_POST['NumericValue'])) {
$uid = $_POST['NumericValue'];
echo $uid;
$query ="SELECT * FROM Form WHERE Form_ID='$uid' ";
$FetchResults=mysqli_query($con,$query);
while($row=mysqli_fetch_array($FetchResults)) {
$FormName=$row['Form_Name'];
echo '<input type="text" value="$FormName"></input>';
}
}
?>
在位于function C(){..}
内部的click
处理程序中对UpdateData.php的调用。单击#EditForms
时仅调用C()
是不够的。
此外,我不认为.FormEdit
在任何地方被使用。
编辑:
function C() {
var NumericValue = $("#DisplayFormDetails table tr").length;
$.ajax({
type: "POST",
url: "UpdateData.php",
data: {
"NumericValue": NumericValue
},
success: function (data) {
$("#FormName" + NumericValue).html(data);
},
error: function (err) {
alert(err.responseText)
}
});
}
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- ajax请求的顺序总是不同的
- 高亮显示时编辑文本大小和颜色
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 使用Ajax请求编辑行
- 如何从ajax get请求的回调函数中编辑javascript变量的值
- HTML5/JavaScript游戏-编辑JS代码以更改AJAX请求
- ASP.Net MVC 5 Ajax 请求在编辑页面上不存在错误__RequestVerificationToken
- 编辑网络请求网址
- 批量编辑 - 不需要的请求或有效负载
- http 使浏览器请求对应的 https URL 对于 http URL,而无需编辑所有页面并手动将所有 URL 更改为
- 如何在 jqGrid 中的内联编辑中将自定义参数传递给 ajax 请求
- 请求流Get+在Node.js中编辑后的JSON主体
- 动态编辑HTTP请求
- NodeJS/Angular编辑请求获取400错误
- 未发送可编辑的AJAX请求
- Cakephp - ajax请求和操作'编辑'不能同时工作
- jQ网格问题与编辑表单不发送请求到SQL数据库
- 使用Firebase API通过可编辑的内联编辑来处理PUT (PATCH)请求