Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取可编辑的值<;td>;通过oninput函数进行标记?_Javascript - Fatal编程技术网

Javascript 获取可编辑的值<;td>;通过oninput函数进行标记?

Javascript 获取可编辑的值<;td>;通过oninput函数进行标记?,javascript,Javascript,我想通过tabletd元素中的oninput函数来获取文本,但遗憾的是,这种方法只适用于输入字段,而不适用于tabletd标记。是否有一种方法可以使用oninput或任何其他方式获取td文本?您可以为每个td赋予唯一的id,然后通过将id传递到oninput函数中来尝试访问该值 <td contenteditable="true" class="name_of_child" oninput="set_text(this,'name_of_c

我想通过table
td
元素中的
oninput
函数来获取文本,但遗憾的是,这种方法只适用于输入字段,而不适用于table
td
标记。是否有一种方法可以使用
oninput
或任何其他方式获取
td
文本?

您可以为每个
td
赋予唯一的id,然后通过将id传递到
oninput
函数中来尝试访问该值

<td contenteditable="true" class="name_of_child" oninput="set_text(this,'name_of_child_1')"></td>
<td contenteditable="true" class="date_of_birth" oninput="set_text(this,'date_of_birth_1')"></td>
<td contenteditable="true" class="living_or_deceased" oninput="set_text(this,'living_or_deceased_1')"></td>

阅读您传入的引用的innerHTML或textContent以获取用户键入的内容

函数集\文本(td,foo){
log(td.innerHTML);
}
表格,tr{width:100%;}
td{width:33%;}

x
Y
Z

为什么不更抽象一些呢

const data={}
常量设置=()=>{
document.querySelectorAll('td').forEach(td=>td.addEventListener('input',setText));
const btn=document.querySelector('button');
btn.addEventListener('click',(事件)=>console.log(数据));
}
const updateObject=(键,值)=>data[key]=value;
const setText=(事件)=>{
const target=event.currentTarget;
const key=target.dataset.var;
常量值=target.textContent;
更新对象(键、值);
}
window.addEventListener(“加载”,设置)
td{
背景:红色;
最小宽度:5em;
}

显示对象

那么什么是设置文本?我猜您正在读取值,没有带TDI的值。无需输入id。您认为
是什么?我认为此方法适合我,谢谢您的帮助。我知道如何获得价值。
<td id="td1" contenteditable="true" class="name_of_child"oninput="set_text(this,'td1')"></td>
<td id="td2" contenteditable="true" class="date_of_birth" oninput="set_text(this,'td2')"></td>
<td id="td3" contenteditable="true" class="living_or_deceased" oninput="set_text(this,'td3')"></td>
function set_text(this, id) {
    var val = document.getElementById(id).textContent
}