【发布时间】:2021-11-29 10:07:43
【问题描述】:
我的 html 文件中有不同的可编辑内容。我有几个标签,还有几个内容可编辑的表格。
我想在用户聚焦后将信息发送到数据库,没有按钮来触发操作。
这是我的 html 的一部分:
<label id="firstLabel" contenteditable="true">Hello</label>
<table id="firstTable">
<input type="hidden" name="userId" id="userid" value="<?php echo $userId ?">
<tr>
<td id="firstRow" name="firstRow" contenteditable="true">This is first row</td>
</tr>
</table>
<div class="footer" id="footer" contenteditable="true">Bottom message</div>
我是编程新手,我正在尝试找出获取内容可编辑信息并将其发送到我的数据库的最佳方法。我知道我必须使用 Javascript、Ajax,并根据我研究的信息将其发送到 PHP 文件。 PHP 部分对我来说不是问题,但我需要一些关于 Javascript 和 AJAX 部分的帮助,因为到目前为止我尝试的一切都没有检索到任何结果。
谢谢。
【问题讨论】:
-
仅供参考~
name属性不适用于td元素 -
感谢 td 的澄清。如果我的 html 内容经过一个 while 循环,则 userid 总是得到 1 的值(这是数据库中的第一个 id)。它忽略所有其他值。
-
好的 - 这个问题没有提到循环和多条记录。因此,在
blur事件处理程序中,您必须使用event.target和合适的parent/child/sibling类型选择器来查找具有该特定记录/行的用户ID 的输入元素。事实上,第一个和最后一个 contenteditable 区域似乎只有body作为parentNode,这使您的任务更加困难。 jQuery 有一些方法可以根据我相信的一些标准来查找最近的元素。如果您要将此处显示的所有 HTML 元素分组到一个 SPAN 中会更容易。
标签: javascript php html ajax contenteditable