Zrobiłem to inaczej, porządniej.
http://zajec.net/dex1987<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> input { display: none; }
<script type="text/javascript"> var last = false;
function change(element) {
if (last)
{
last.getElementsByTagName('div')[0].style.display="block";
last.getElementsByTagName('input')[0].style.display="none";
last.getElementsByTagName('input')[0].value=last.getElementsByTagName('div')[0].innerText;
}
last = element;
element.getElementsByTagName('div')[0].style.display="none";
element.getElementsByTagName('input')[0].style.display="block";
}
<table border="1" widht="100%"> <tr onclick="change(this)"> <input name="foo1" type="text" value="tekst1"> <tr onclick="change(this)"> <input name="foo2" type="text" value="tekst2">
P.S.
Jeśli chodziło Ci o to, aby po zmianie treści inputa zmieniał się również tekst, który pojawia się po zaznaczeniu innego pola, to linijkę:
Kod
last.getElementsByTagName('input')[0].value=last.getElementsByTagName('div')[0].innerText;
zamień na
Kod
last.getElementsByTagName('div')[0].innerText=last.getElementsByTagName('input')[0].value;