簡體   English   中英

從表單元格獲取編輯的單元格值

[英]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");

}

javascript並不真正將表格單元格的“值”視為一個值,而只是HTML。 嘗試提醒x.innerText 有關通過ID獲取單元格內容的信息,請參見此問題

另外,我知道每個人都討厭聽到此消息,但是使用jQuery會容易得多。

在您的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM