Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana tr, nie mam innego pomyslu na temat
Dex1987
post 14.08.2006, 23:56:44
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

Ostrzeżenie: (0%)
-----


Witam mam taki kodzik:

  1. <script language="JavaScript" type="text/javascript">
  2.  
  3. function change (name) {
  4.  
  5. document.getElementById (name).innerHTML = '<font face="verdana" size="2">OK</font>';
  6.  
  7. name = document.getElementById (name).innerHTML
  8. }
  9.  
  10.  
  11. <table border="1" widht="100%">
  12. <tr onClick="change ('foo1')">
  13. <td width="100%">
  14. <div id="foo1">
  15. tekst 1
  16. </div>
  17. </td>
  18. </tr>
  19. <tr onClick="change ('foo2')">
  20. <td width="100%">
  21. <div id="foo2">
  22. tekst 2
  23. </div>
  24. </td>
  25. </tr>


Dzila on tak: mam x komorek, kaza ma jakas wartosc... teraz jak klikne na jakas zmienia sie na OK, ale gdy klikne na inna to chcialbym zeby poprzednia wracal do poczatkowej formy.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Zajec
post 15.08.2006, 00:18:27
Post #2





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Zadziała?
Kod
<script type="text/javascript">
var lastid = false;
var lastval = false;

function change(name) {
    if (lastid && lastval) document.getElementById(lastid).innerHTML=lastval;
    lastid = name;
    lastval = document.getElementById(name).innerHTML;

    document.getElementById(name).innerHTML = '<font face="verdana" size="2">OK</font>';
}

</script>
Go to the top of the page
+Quote Post
Dex1987
post 15.08.2006, 00:32:10
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

Ostrzeżenie: (0%)
-----


ok zrobilem tak jak napisałes i dziala swietnie, ale teraz mam taki problemik, nie moge edytowac wartosci inputa ;/

kod:

  1. <?php
  2.  
  3. echo $_POST['foo1'];
  4.  
  5. ?>
  6.  
  7.  
  8. <script type="text/javascript">
  9. var lastid = false;
  10. var lastval = false;
  11.  
  12. function change(name) {
  13. if (lastid && lastval) document.getElementById(lastid).innerHTML=lastval;
  14. lastid = name;
  15. lastval = document.getElementById(name).innerHTML;
  16.  
  17. document.getElementById(name).innerHTML = '<input name="'+name+'" type="text" value="'+document.getElementById(name).innerHTML+'">';
  18. }
  19.  
  20. <form method="POST">
  21.  
  22. <table border="1" widht="100%">
  23. <tr onClick="change ('foo1')">
  24. <td width="100%">
  25. <div id="foo1">
  26. tekst 1
  27. </div>
  28. </td>
  29. </tr>
  30. <tr onClick="change ('foo2')">
  31. <td width="100%">
  32. <div id="foo2">
  33. tekst 2
  34. </div>
  35. </td>
  36. </tr>
  37. <tr onClick="change ('foo3')">
  38. <td width="100%">
  39. <div id="foo3">
  40. tekst 3
  41. </div>
  42. </td>
  43. </tr>
  44. <br>
  45. <input type="submit">
  46. </form>
Go to the top of the page
+Quote Post
Zajec
post 15.08.2006, 10:14:51
Post #4





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


Zrobiłem to inaczej, porządniej.

http://zajec.net/dex1987

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <title>Script test</title>
  5. <style type="text/css">
  6. input { display: none; }
  7. </head>
  8.  
  9.  
  10.  
  11. <script type="text/javascript">
  12. var last = false;
  13.  
  14. function change(element) {
  15. if (last)
  16. {
  17. last.getElementsByTagName('div')[0].style.display="block";
  18. last.getElementsByTagName('input')[0].style.display="none";
  19. last.getElementsByTagName('input')[0].value=last.getElementsByTagName('div')[0].innerText;
  20. }
  21. last = element;
  22.  
  23. element.getElementsByTagName('div')[0].style.display="none";
  24. element.getElementsByTagName('input')[0].style.display="block";
  25. }
  26.  
  27.  
  28.  
  29. <form method="POST">
  30.  
  31. <table border="1" widht="100%">
  32. <tr onclick="change(this)">
  33. <td width="100%">
  34. <div>tekst 1</div>
  35. <input name="foo1" type="text" value="tekst1">
  36. </td>
  37. </tr>
  38. <tr onclick="change(this)">
  39. <td width="100%">
  40. <div>tekst 2</div>
  41. <input name="foo2" type="text" value="tekst2">
  42. </td>
  43. </tr>
  44. <br>
  45. <input type="submit">
  46. </form>
  47.  
  48. </body>
  49. </html>





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;


Ten post edytował Zajec 15.08.2006, 10:17:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.06.2025 - 01:02