Onclick funktioniert nur ein mal
tommynator128
- javascript
Hallo,
ich will einen Text editierbar machen, also wenn man drauf klickt kommt ein Text-feld und wenn man dann Enter drückt steht der eingegebene Text da. Es funktioniert bereits, allerdings nur genau ein mal, danach passiert gar nichts mehr. Warum? (das mit dem $-Zeichen ist von prototype.js)
der JS:
function submitName(e,id) {
if (e.keyCode == 13) {
var tb = $("nameBox_"+id).value;
$("name_"+id).innerHTML = tb;
$("name_"+id).onclick = 'changeName('+id+')';
return false;
}
}
function changeName(id) {
$("name_"+id).innerHTML = '<input id="nameBox_'+id+'" type="text" onkeypress="return submitName(event,'+id+')" />';
$("name_"+id).onclick = '';
}
und der Code im Body:
<div onclick="changeName(1)" id="name_1">Test</div>
Lieber tommynator128,
nachdem ich Deinen Code kurz angeschaut habe, stellt sich mir die Frage, wann die Funktion "submitName" überhaupt aufgerufen wird.
function changeName(id) {
$("name_"+id).innerHTML = '<input id="nameBox_'+id+'" type="text" onkeypress="return submitName(event,'+id+')" />';
$("name_"+id).onclick = '';
}
Hier wird nach dem ersten Aufruf das onclick-Event des jeweiligen Elements gelöscht. Deswegen kann man nur einmal editieren.
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)