Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Z JS do PHP przez AJAX
|
Liczba postów: 6
Liczba wątków: 1
Dołączył: 20-01-2012
Reputacja:
0
Witam, stworzyłem sobie taki oto skrypt.
HTML
Kod PHP: <html> <head> <meta charset="utf-8" /> <title>xxx</title>
<script type="text/javascript"><!-- $(document).ready(function() { $('#crs').submit(function() {
var nm = $('#crs #nm').val();
$.ajax({ type: 'post', url: 'script.php', data: nm, beforeSend: function() {
$('#resp').html('Loading...'); }, timeout: 10000, error: function(xhr, status, error) { alert('Error: '+ xhr.status+ ' - '+ error); }, success: function(response) { $('#resp').html(response); } });
return false; }); }); --></script>
</head> <body> <div id="resp"></div>
<form action="script.php" method="post" id="crs">
Name: <input type="text" name="nm" id="nm" /><br />
<input type="submit" value="submit" /> </form> </body> </html>
PHP
Kod PHP: <?php
if(isset($_POST['nm']) ) {
$nm = $_POST['nm'];
$rehtml = '<h4>Hy '. $nm. '</h4>';
} else $rehtml = 'Invalid data';
echo $rehtml; // output (return) the response
?>
Problem w tym, że zamiast Cytat:<input type="text" name="nm" id="nm" /><br />
muszę mieć Cytat:<div id="nm">wartosc_wygenerowana_przez_js</div>
Pytanie: Czy przy pomocy AJAX'a uda mi się odczytać wartość z DIV'a a następnie przesłać ją do PHP ??
Liczba postów: 57
Liczba wątków: 3
Dołączył: 19-12-2011
Reputacja:
1
20-01-2012, 01:44
(Ten post był ostatnio modyfikowany: 20-01-2012, 01:46 przez szym.)
Tym możesz pobrać zawartość diva
Kod: <script type="text/javascript"><!--
$(document).ready(function() {
$('#crs').submit(function() {
var nm = $('#nm').html();
$.ajax({
type: 'post',
url: 'script.php',
data: nm,
beforeSend: function() {
$('#resp').html('Loading...');
},
timeout: 10000,
error: function(xhr, status, error) { alert('Error: '+ xhr.status+ ' - '+ error); },
success: function(response) { $('#resp').html(response); }
});
return false;
});
});
Liczba postów: 6
Liczba wątków: 1
Dołączył: 20-01-2012
Reputacja:
0
ok, a jak teraz przesłać tę pobraną wartość przez ajax'a do php ??
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
(20-01-2012, 02:46)sooper napisał(a): ok, a jak teraz przesłać tę pobraną wartość przez ajax'a do php ??  Przecież masz przesyłanie AJAXem w powyższym przykładzie...
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Liczba postów: 6
Liczba wątków: 1
Dołączył: 20-01-2012
Reputacja:
0
Pedro84 zgadza się, jednak zamiast wartości z diva skrypt nic nie przesyła i pojawia się 'Invalid data' :|
Powinno być " Hy (wartość z div)"
Siedzę nad tym cały dzień i nie mogę dojść co jest nie tak ehhh...
Liczba postów: 57
Liczba wątków: 3
Dołączył: 19-12-2011
Reputacja:
1
20-01-2012, 03:18
(Ten post był ostatnio modyfikowany: 20-01-2012, 03:25 przez szym.)
Nie zauważyłem jednej ważnej rzeczy:
Kod PHP: <body> <div id="resp"></div>
<form action="script.php" method="post" id="">
Name: <input type="text" name="nm" id="nm" /><br />
<input type="submit" value="submit" /> </form> </body> </html>
Jeśli wysyłasz zawartość przez ajax to nie możesz tak definiować <from> bo formularz zostaje wysłany normalnie. Daj np.
Kod PHP: <form id="crs" onsubmit = "return false;">
Daj znać czy coś to pomogło.
Liczba postów: 6
Liczba wątków: 1
Dołączył: 20-01-2012
Reputacja:
0
Ogólnie dzięki za pomoc
Może napiszę do czego dążę.
Załóżmy że mam formularz logowania, taki jak jest na tym forum.
Składa się on z 2 inputów ( Nazwa oraz hasło użytkownika)
Kod PHP: <input type="text" name="nazwa" id="nazwa" /> <input type="text" name="haslo" id="haslo" />
Chciałbym do tego formularza dodać diva, gdzie jego wartość będzie generowana przez JS (generowanie mam już zrobione)
Kod PHP: <div name="test" id="test>{WARTOŚĆ Z JS}</div>
i na końcu wysłać wszystko submitem
Kod PHP: <input type="submit" value="submit" />
Po stronie php wartości z inputów odczytamy za pomocą $_POST[]
Jak odczytać wartość DIVA ??
Liczba postów: 57
Liczba wątków: 3
Dołączył: 19-12-2011
Reputacja:
1
20-01-2012, 05:04
(Ten post był ostatnio modyfikowany: 20-01-2012, 05:05 przez szym.)
Ale co ma być w tym DIV umieszczone? Coś niewidocznego dla użytkownika? Jeśli tak to robisz to za pomocą
Kod PHP: <input type="hidden" name="nazwa" value="nm" />
I wysyłasz wszystko poprzez:
Kod PHP: $.ajax({ type: "POST", url: "script.php", data: { nm : nm.val(), nazwa : nazwa.val(), hasło : hasło.val() }
success: function(data) {} })
Musi to być koniecznie w ajax zrobione?
Liczba postów: 6
Liczba wątków: 1
Dołączył: 20-01-2012
Reputacja:
0
20-01-2012, 05:32
(Ten post był ostatnio modyfikowany: 20-01-2012, 06:37 przez sooper.)
W chwili obecnej mam ukrytego input'a, ale istnieją sposoby aby takiego input'a zrobić widocznym i zmienić wartość.
Chodzi mi o coś takiego:
![[Obrazek: 123456u.png]](http://img576.imageshack.us/img576/1602/123456u.png)
Wartość 12335... jest wygenerowana przez JS. i znajduje się w div'ie
Oczywiście nie musi być w AJAX, ale nie wiem czy inaczej się da to przesłać :|
//poprawione zdjęcie
Liczba postów: 57
Liczba wątków: 3
Dołączył: 19-12-2011
Reputacja:
1
popraw zdjęcie bo nie działa.
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Dodawanie postów przez użytkownika |
zymeg |
1 |
3,007 |
11-01-2015, 01:35
Ostatni post: Radian
|
|
Projekt karcianej gry multiplayer przez przeglądarkę |
gdp |
0 |
1,832 |
19-10-2014, 05:34
Ostatni post: gdp
|
|
AJAX - linki ze znacznika <a> |
johnyedwardo |
0 |
1,915 |
31-03-2012, 00:01
Ostatni post: johnyedwardo
|
|
[ajax+js] Problem ze skryptem na IE |
marcin006 |
0 |
1,575 |
23-02-2012, 00:41
Ostatni post: marcin006
|
|
Prototype Ajax.Updater |
marekkkkk |
4 |
4,157 |
06-01-2012, 03:53
Ostatni post: marekkkkk
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|