KamCiu
17.12.2011, 12:00:36
Nie będę owijał w bawełnę, otóż mam plik .js i tam zmienną rate, chciałbym po zakończeniu funkcji automatycznie przesłać ją do innego pliku .php jako zmienną.
Bardzo proszę o pomoc.
Pozdrawiam.
gorden
17.12.2011, 12:07:03
prześlij ją jako post
w jquery wyglądałoby to tak:
$.post('plik.php', {
'rate': rate
});
i w php już masz $_POST['rate']
KamCiu
17.12.2011, 16:29:48
A teraz , jak zrobić odwrotnie a mianowicie zmienną z php do pliku .js?
gorden
17.12.2011, 16:32:44
do $.post dodajesz jeszcze jeden argument-funkcję
, function(data) {});
gdzie data to jest to, co wyświetlił wzamian za requesta serwer. czyli echo $_POST['rate'] da do zmiennej data wartość zmiennej rate
KamCiu
17.12.2011, 16:35:47
Może bym to jakoś zlepił, lecz potrzebuje inne dane przesłać do innego pliku, więc muszę od nowa pomyśleć jak przesłać pomiędzy danymi z php do js.
Próbowałem z tym post ale jakoś nie chodzi.
amii
17.12.2011, 18:46:35
Cytat(KamCiu @ 17.12.2011, 16:29:48 )

A teraz , jak zrobić odwrotnie a mianowicie zmienną z php do pliku .js?
Tak możesz zrobić jesli plik js jest umieszczony w tym samym drzewie DOM co powstaje z pliki php, jeśli nie to pozostaje Ci poprzedni sposób
<input type="hidden" id="zmienna" value="<?php echo $zmienna_php; ?>" />
var zmienna = document.getElementById('zmienna');
KamCiu
17.12.2011, 18:53:49
Zrobiłem w php:
<form method="post" id="searchForm">
<input type="hidden" id="a" value="x"/>
<input type="hidden" id="b" value="y"/>
<input type="hidden" id="c" value="z"/>
<input type="submit" value="Search" />
</form>
i w osobnym pliku js:
var aa = document.getElementById('a');
var bb = document.getElementById('b');
var cc = document.getElementById('c');
I nic, jeżeli nie o to chodziło to proszę o poprawienie mnie :<
amii
17.12.2011, 19:45:29
Plik js musi być załadowany w nagłówku. Ale domyślam się, że nie o to Ci chodzi.
Poczytaj jak przesyłać i odbierać dane z plików:
http://api.jquery.com/jQuery.post/Najprościej to mógłbym tak naszkicować:
$.post('plik.php', function(data) {
var content = data;
});
plik.php
KamCiu
17.12.2011, 19:48:19
Właśnie do tego już doszedłem ale i tak dziękuje.
Chodzi mi teraz o to aby przesłać zmienną $lolo z pliku lolo2.php do osobnego pliku lolo3.js.
gorden
17.12.2011, 20:41:15
js:
$.post('lolo2.php', {
dawaj: 'zmienna'
}, function(data) {
alert(data);
});
lolo2.php:
if($_POST['dawaj'] == 'zmienna') echo $lolo;
KamCiu
17.12.2011, 20:48:32
Czym u Ciebie jest zmienna $lolo i to znowu przesyła z js do php.
gorden
17.12.2011, 20:52:08
czym u Ciebie jest zmienna data, która odbiera wyświetloną treść z lolo2.php, którą jest zmienna $lolo
KamCiu
17.12.2011, 21:02:09
Pobieram z mysqla jakiś album muzyczny, chce w formularzu przesłać te dane do osobnego pliku js w i wczytać w takiej formie:
var Songs = [
{zespol:'$res1', utwor:'$res2'',okladka:'$res3''}
];
Coś takiego.
gorden
17.12.2011, 21:09:41
no to taki przykład, jak podałem. tylko zamiast echo $lolo to
echo $res1.'|'.$res2.'|'.$res3
js analogicznie:
, function(data) {
data = data.split('|');
var Songs = [
{zespol:data[0],utwor:data[1],okladka:data[2]}
];
});
KamCiu
17.12.2011, 21:13:45
Czyli tak , mamy czysty plik php i robimy tylko zapytanie i pobieramy dane
$load = zapytanie_sql($res1,$res2,$res3);
Cytat(gorden @ 17.12.2011, 21:09:41 )

echo $res1.'|'.$res2.'|'.$res3
I jak wysłać te dane do js??
A w js jak ma wyglądać cała ta funkcja która odczytuje to??
, function(data) {
data = data.split('|');
var Songs = [
{zespol:data[0],utwor:data[1],okladka:data[2]}
];
});
gorden
17.12.2011, 21:17:57
hmm... zadałeś pytanie i zacytowałeś odpowiedź. gotowe rozwiązanie już Ci dałem, jak działa to "przekazanie" również zostało opisane. jedyne co pozostało do zrobienia to podstawienie danych z mojego ostatniego postu do gotowca, którego dałem jeszcze wyżej. zresztą, na takim banał nie powinienem odpowiadać wejdź w manual jquery i masz tam kilka przykładów.
KamCiu
17.12.2011, 21:19:37
Dobra tak czy siak i tak już bardzo dziękuje.
Pozdrawiam.
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.