我在一个大型表单上使用contenteditable,其中包含1个无限行/来自php查询的结果。我需要根据在其他字段中输入的值更新关键输入/可信字段。
这是脚本:
function saveToDatabase(editableObj,column,id) {
$(editableObj).css("background","#FFF url(loaderIcon.gif) no-repeat right");
$.ajax({
url: "update_doors.php",
type: "POST",
data:'column='+column+'&editval='+encodeURIComponent($(editableObj).val())+'&id='+id,
success: function(data){
$(editableObj).css("background","#FDFDFD");
var description = data[0];
var leaf = data[1];
$('#description'+id).val(description);
$('#leaf'+id).val(leaf);
}
});
}
以下是html / php表单的一部分:
<td class="center"><textarea id="description<?php echo $schedule_row['id']; ?>" contenteditable="true" onChange="saveToDatabase(this,'[Description]','<?php echo $schedule_row['id']; ?>')" onClick="editRow(this);" type="text" rows="1" style="width: 90%;" class="input-clearfit-left out"><?php echo $schedule_row['Description']; ?></textarea></td>
<td class="center"><input id="leaf<?php echo $schedule_row['id']; ?>" contenteditable="true" onBlur="saveToDatabase(this,'[Leaf]','<?php echo $schedule_row['id']; ?>')" onClick="editRow(this);" type="text" value="<?php echo $schedule_row['Leaf']; ?>" class="input-clearfit"></td>
这是更新查询:
$editval = $_POST["editval"];
$column = $_POST["column"];
sqlsrv_query($conn, "UPDATE OE_Order_Entry_Detail SET " . $_POST["column"] . " = '".$editval."' WHERE id = " . $_POST["id"]);
$result = sqlsrv_query($conn, "SELECT [Description], [Leaf] FROM OE_Order_Entry_Detail WHERE [id]=" . $_POST["id"]);
$array = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC);
echo json_encode($array);
表单中有更多字段,但我想要动态重新加载/刷新的2个主要字段是&#34;描述&#34;和&#34; leaf&#34;根据在该行数据中的其他列/输入字段中所做的选择,将更改的列。
我将非常感谢任何帮助,我已经搜索并尝试了许多不同的解决方案,但尚未找到任何正常运行的功能,而无需刷新整个页面以获取更新的值。