[英]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.