2017-01-21 8 views
-1

so im tun, dass editierbare Tabelle Dings und ich ein gutes Beispiel gefunden, um durch zu starten, aber ich habe einige Probleme konfrontiert.HTML editierbar <td> mit Javascript

<td contenteditable="true" class="hover" onBlur="saveToDatabase(this,'question','1')" onClick="showEdit(this);">Blab Bla 1</td> 

Okay, so das ist, ist meine echo'ed Linie durch die Datenbank und in der onBlur = es ist die ID, die 1 so ist, ich es einfach auf Blur speichern kann, und auf Klick ich die td bearbeiten.

Anstatt bluring, um die Datenbank zu speichern, wollte ich es onkeypress machen (eingeben) = SaveToDatabase aber dann dachte ich, wie ist das möglich, da die Datenbank echo es als Inline-Javascript, so muss ich einen Weg finden, es zu machen onkeypress (13 ~ eingeben), um Datenbank speichern ..

+0

Was macht 'showEdit()'? Was es tun könnte, ist den Inhalt der in ein Formular zu verpacken, so dass der Benutzer einfach die Eingabetaste drücken kann und das Formular übergeben wird, und Sie können alles, was Sie mit Javascript tun wollen, verarbeiten, indem Sie das Submit-Ereignis des Formulars erfassen. –

Antwort

0

Sie etwas tun können, wie diese

HTML

onkeypress="if(checkIfEnter(event)){saveToDatabase(this,'question','1')}"  
//or 
onkeypress="if(checkIfEnter(event)){this.blur();}" 

JS

function checkIfEnter(e) { 
    e = e || window.event; 
    if (e.keyCode != 13) {return false}; 
    e.preventDefault(); 
    return true; 
} 
+0

Funktioniert perfekt, aber das Problem ist, wenn ich die EINGABETASTE drücken, eine neue Zeile beginnt und ich brauche es zu entfernen oder die Auswahl zu entfernen td –

+0

@MoemenWalid Try 'onkeypress =" if (checkIfEnter (event)) {this.blur(); } "', sollte es die Unschärfe-Ereignis ausgelöst, die – LGSon

+0

nach dem Hinzufügen e.preventdefault Fixiert auf Datenbank speichern wird(), wenn Schlüssel eingeben wahr 'Funktion checkIfEnter (e) { \t \t e = e || Fenster.Ereignis; \t \t if (e.keyCode! = 13) {return false}; \t \t e.preventDefault(); \t \t Rückkehr wahr; \t} mit 'onkeypress =" if (checkIfEnter (event)) {this.blur();} "' –