[英]Get edited cell value from table cell
我在html页面上使用php显示表格。 我想编辑单元格的内容(基本上是更改一个值,并进行ajax调用来更新数据库)。 对我的要求是使用onblur函数(我也可以使用onkeypress来解决)。 谁能告诉我用单元格ID输入新值的最简单方法是什么?
x的警报告诉我它的“对象HTMLTableCellElement”
谢谢!!!
foreach($_RESPONSE['VENDOR_LIST'] as $r){
echo "<tr><td>".$r['fdEmail']."</td><td id='companyname_".$r['fdId']."' contenteditable='true' onblur='updateValue(id)';>".$r['fdCompanyName']." ".$r['fdId']."</td></tr>";
}
Javascript方法
function updateValue(thisdata){
alert(""+thisdata);
var x=document.getElementById(""+thisdata);
if(x){
alert(x);
//var r = x.value;
}
else
alert("not found");
}
在您的HTML中,将updateValue(id)更改为updateValue(this.id) ;
然后将其放在updateValue函数的第一个if语句中。
if(x.innerText){
alert(x.innerText);
} else {
// Firefox support
alert(x.textContent);
}
在你的代码中
var x=document.getElementById(""+thisdata);
这里x是一个对象,您需要编写所需的函数来更改值或获取值。
alert(x.innerHTML);
将为您提供单元的价值。
HTML td标签中提到的ID与您的getElementById deos中的ID不匹配。 (使用浏览器中的错误控制台获取javascript错误)
您可能需要像这样更改功能
function updateValue(thisdata){
var x=document.getElementById("companyname_"+thisdata);
if(x){
alert(x.innerHTML);
}
else
alert("not found");
}
您的HTML代码为:
foreach($_RESPONSE['VENDOR_LIST'] as $r){
echo "<tr><td>".$r['fdEmail']."</td>
<td id='companyname_".$r['fdId']."' contenteditable='true' onblur="updateValue('companyname_".$r['fdId']."');">".$r['fdCompanyName']." ".$r['fdId']."</td></tr>";
}
注意:我尚未测试代码,请进行相应的更改,如果发现困难,请在此处发布:)
总是使用jQuery,它使您的任务变得简单:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.