Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX]Jak załadować wartości do pola tekstowego?
cent4
post
Post #1





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Jak załadować wartości z pliku zewnętrznego do pola tekstowego?
Do diva działa prawidłowo:
  1. <div id="trzy">
  2. </div>
  3. ...
  4. $("#trzy").load("plik.php?jeden="+s1+"&dwa="+s2);


Ale jak:
$("#trzy").load("plik.php?jeden="+s1+"&dwa="+s2);
Załadować do pola:
<input type="text" id="trzy">
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
gargamel
post
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

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


Nie poprzez funkcję load.
Skorzystaj np z getJSON()
Go to the top of the page
+Quote Post
kudlatypawelek
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 5
Dołączył: 30.06.2011

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


Możesz też użyć "pełnego" AJAXa z jQuery i w funcji anonimowej wydłubać to co zwraca plik php i za pomocą .val(data) ustawić wartość inputa. http://api.jquery.com/jQuery.ajax/
Go to the top of the page
+Quote Post
cent4
post
Post #4





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


A jakieś szybkie gotowe rozwiązanie :-) - może przykład...

Czy ktoś może mi to wytłumaczyć jak 7-dmio latkowi...
Bo nie qumam tego jSON'a ;-(
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #5





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Prosze bardzo, kod js do tworzenia nowego obiektu w zależności od przeglądarki i obsługi otwieranego pliku, w wersji uniwersalnej do szerokiego zastosowania (metoda GET):

  1. function getXMLHttpRequestObject()
  2. {
  3.  
  4. var wersjeMSXML = new Array(
  5. "MSXML2.XMLHTTP.6.0",
  6. "MSXML2.XMLHTTP.5.0",
  7. "MSXML2.XMLHTTP.4.0",
  8. "MSXML2.XMLHTTP.3.0",
  9. "MSXML2.XMLHTTP",
  10. "Microsoft.XMLHTTP"
  11. );
  12.  
  13. try {
  14. return new XMLHttpRequest();
  15. }
  16. catch(e) {
  17. for (var indeks in wersjeMSXML) {
  18. try {
  19. return new ActiveXObject(wersjeMSXML[indeks]);
  20. }
  21. catch(e) {
  22. }
  23. }
  24. return null;
  25. }
  26. }
  27.  
  28.  
  29. function startGETRequest(url, onComplete, onEnd)
  30. {
  31.  
  32. var XMLHttpRequestObject = getXMLHttpRequestObject();
  33.  
  34. if (XMLHttpRequestObject) {
  35. XMLHttpRequestObject.open("GET", url);
  36. XMLHttpRequestObject.onreadystatechange = function()
  37. {
  38. if (XMLHttpRequestObject.readyState == 4) {
  39. if (XMLHttpRequestObject.status == 200) {
  40. var responseXML = XMLHttpRequestObject.responseXML;
  41. var responseText = XMLHttpRequestObject.responseText;
  42. onComplete(responseText, responseXML);
  43. }
  44. delete XMLHttpRequestObject;
  45. XMLHttpRequestObject = null;
  46. onEnd();
  47. }
  48. }
  49. XMLHttpRequestObject.send(null);
  50. }
  51.  
  52. }


onComplete i onEnd są funkcjami obsługującymi akcje które mają nastąpić po przeczytaniu i zakończeniu czytania pliku. Natomiast funkcja startRequest jest wywowyłana przy konkretnej akcji, np kliknięciu przycisku.

  1. function startRequest()
  2. {
  3. var url = "dane.txt";
  4. startGETRequest(url, onComplete, onEnd);
  5. }
  6.  
  7. function onComplete(responseText, responseXML)
  8. {
  9. var trzy = document.getElementById("trzy");
  10. trzy.value = responseText;
  11. }
  12.  
  13. function onEnd()
  14. {
  15. }
  16.  


W miejsce zmiennej url wstawiasz ścieżkę do pliku który chcesz odczytać.
Przykładowy kod HTML stronki, nie dodaje definicji i funkcji js, bo to oczywista sprawa.

  1. <div>
  2. <input type="button" onclick="startRequest();">
  3. <input type="text" id="trzy" />
  4. </div>


Po kliknięciu przycisku pole input o id "trzy" będzie miało zawartość wczytanego pliku tekstowego. Do startRequest możesz dodać argument, np. url do pliku, żeby nie kopiować w kółko definicji funkcji.

Ten post edytował b4rt3kk 28.07.2011, 12:27:13


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
cent4
post
Post #6





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Dzięki wielkie ale pytanie:
jak przekazać do pliku 2 wartości: $("#trzy").load("plik.php?jeden="+s1+"&dwa="+s2);

Lepiej byłoby przez ten jSON? - jaka to różnica między tym xml?
I jak przekazać 2 wybrane wartości do pliku php, żeby wyciągnąć trzecią...?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Wartości przekazujesz w ten sposób: plik.php?wart1=costam&?wart2=costam2&?wart3=costam3 itd, po prostu zapomniałeś znaku zapytania po &.

A tą trzecią wartość możesz przekazać poprzez textResponse tak jak opisałem to wyżej, czyli np. w pliku php jest taki kod:

  1. echo $wartosc = $_GET['wart1'] + $_GET['wart1'];


wtedy

textResponse = $wartosc

Ten post edytował b4rt3kk 28.07.2011, 13:39:32


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
cent4
post
Post #8





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


A nie prościej:

$.get("test.php", function(data){
$('#trzy').val(data)
});

i działa ok ;-)
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 Aktualny czas: 22.08.2025 - 03:16