Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Ajax] Podwójne kliknięcie do zmiany nazwy pliku na nową
Forum PHP.pl > Forum > XML, AJAX
konradmm
Witam.
Otóż mam kolejny niewielki problem (jak mi się zdaje).
Dopiero raczkuję jeśli chodzi o ajaxy/jsy/jquery itp, jednak chcialem połączyć to w taki sposób, aby po Podwójnym Kliknięciu nazwy pliku wyswietlanej na stronie, mozna bylo zmienic nazwe i po nacisnieciu Enter'a, aby nazwa sie zmienila.

Może pokażę co już mam i poproszę o jakies podpowiedzi wink.gif

  1. <html>
  2. <head>
  3. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  4. <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  5. <script type="text/javascript">
  6.  
  7. function GetXmlHttpObject()
  8. {
  9. if (window.XMLHttpRequest)
  10. {
  11. return new XMLHttpRequest();
  12. }
  13. if (window.ActiveXObject)
  14. {
  15. return new ActiveXObject("Microsoft.XMLHTTP");
  16. }
  17. return null;
  18. }
  19.  
  20. function ajax_function(url, postData)
  21. {
  22. xmlhttp=GetXmlHttpObject();
  23. xmlhttp.open("POST", url, true);
  24. xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  25. xmlhttp.send(postData);
  26. }
  27.  
  28. $(function() {
  29. $(".dbl").dblclick(function(e) {
  30. e.stopPropagation();
  31. var currentEle = $(this);
  32. var value = $(this).html();
  33. updateVal(currentEle, value);
  34. });
  35. });
  36.  
  37. function updateVal(currentEle, value) {
  38. var param = 'old=' + currentEle + '&new=' + value ;
  39. $(document).off('click');
  40. $(currentEle).html('<input class="thVal" type="text" value="' + value + '" />');
  41. $(".thVal").focus();
  42. $(".thVal").keyup(function(event) {
  43. if (event.keyCode == 13) {
  44. $(currentEle).html($(".thVal").val().trim());
  45. ajax_function('ajax_edit.php', param);
  46. }
  47. });
  48. }
  49. </script>
  50.  
  51. </head>
  52. <body>
  53. <?php
  54. $dir = "/var/www/mydomain.com/";
  55. chdir($dir);
  56. array_multisort(array_map('filemtime', ($files = glob("*.exe", GLOB_BRACE))), SORT_DESC, $files);
  57. foreach($files as $filename)
  58. echo '<div class="dbl">'.$filename.'</div>';
  59. ?>
  60.  
  61. </table>
  62. </body>
  63. </html>


natomiast moj pliczek ajax_edit.php wyglada tak:
  1. $old = $_REQUEST['old'];
  2. $new = $_REQUEST['new'];
  3. shell_exec("mv /var/www/mydomain.com/$old /var/www/mydomain.com/$new");


Jeśli chodzi o exec'a, to wykonuje sie dobrze jesli podam jakies przykladowe wartosci, a nazwa pliku sie zmienia.
Najwiekszy problem to polaczenie tych dwoch rzeczy i szczerze, nie mam juz pojecia co moze byc zle ;(


Bump?
LowiczakPL
zobacz jak to jest zrobione http://jsfiddle.net/jFycy/
konradmm
Cytat(LowiczakPL @ 23.03.2016, 06:12:49 ) *
zobacz jak to jest zrobione http://jsfiddle.net/jFycy/


Chodzi o to ze jest podobne/jak nie takie samo?
Tak wiem, probuje skleic kilka kawalkow w jeden.
Problemem nie jest zrobienie edycji dbl-klikiem, tylko zapisanie czyli w moim przypadku zmiana nazwy w php.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.