Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP][AJAX]Wyświetlanie wyniku bez odświeżania.
Forum PHP.pl > Forum > Przedszkole
assasin
Witam, jak zrobić coś takiego:
Jest formularz blebleble.. informacje zostają wysłane do skryptu php i wynik wyświetla się na stronie bez odświeżania jej.
Wiem że w js, ale nie wiem jak..
Ktoś mi kiedyś podesłał to:
http://mintajax.pl/Przewodnik/Obiekt-Request/
Ale nie mam zielonego pojęcia jak to się stosuje..
Spawnm
To naucz się najpierw podstaw javascript ...

I nadaj sensowny tytuł.
marian84
Najprostsze użycie:

w head dajesz

  1. <script type="text/javascript" src="mintAjax.js"></script>
  2. <script type="text/javascript">
  3. function SendRequest() {
  4. var req = mint.Request();
  5.  
  6. req.OnSuccess = function() {
  7. $("response").innerHTML = this.responseText;
  8. }
  9.  
  10. req.SendForm("form");
  11. }
  12.  


Tworzysz formularz

  1. <form id="form" method="POST" action="plik_obslugujacy_odpowiedz_formularza.php">
  2. Twój tekst:
  3. <input name="text" type="text" /><br />
  4. </form>
  5.  
  6. <div id="response"></div>
  7. <button onclick="SendRequest()">Wyślij formularz</button>



struktura plik_obslugujacy_odpowiedz_formularza.php:

  1. if(isset($_POST['text']))
  2. {
  3. echo'Wysłałeś tekst:'.$_POST['text'];
  4. }


assasin
  1. if(isset($_POST['text']))
  2. {
  3. echo'Wysłałeś tekst:'.$_POST['text'];
  4. }

To umieszczam pod formularzem?

Jak narazie to nie działa;/ klikam wyślij i przekierowuje mnie do pliku z nagłówka formularza... z wynikiem.
marian84
Nie, to

  1. if(isset($_POST['text']))
  2. {
  3. echo'Wysłałeś tekst:'.$_POST['text'];
  4. }
  5.  

dajesz w osobnym pliku, który obsłuży formularz.
assasin
Tak, tylko ja chce wyświetlić wartość funkcji $test, skrypt obsługujący formularz zapisał dane w tej zmiennej.
marian84
Cytat
wartość funkcji $test


Chyba zmiennej ...smile.gif

Wszystko co ma się dziać z formularzem musisz obsłużyć w tym zewnętrznym pliku (action="plik_obslugujacy_odpowiedz_formularza.php"). Funkcje odpowiedzialne za przetwarzanie tez muszą się znaleźć w tym pliku
assasin
  1. <form id="htmlForm" name="htmlForm" action="test.php" method="post">

Mam
Funkcje odpowiedzialne za przetwarzanie tez muszą się znaleźć w tym pliku ?

  1. <?php
  2. if (!isset($_POST["entry"])) {
  3. $entry = "'0', ";
  4. $heroic_entry = "'0', ";
  5. $modelid_A = "'0', ";
  6. } else if (isset($_POST["entry"])) {
  7. $entry = "'".$_POST["entry"]."', ";
  8. $heroic_entry = "'".$_POST["entry"]."', ";
  9. $modelid_A = "'".$_POST["modelid_A "]."', ";
  10. ?>


  1. <?php echo $test21 = "<textarea name=sql wrap=off cols=100 rows=1>
  2. INSERT INTO `test3` VALUES (".$entry, $heroic_entry, $modelid_A;);"</textarea>"; ?>
  3.  


Gdzie test21 ma być wynikiem wyświetlanym bez ODŚWIEŻANIA.
marian84
tak,

  1. <?php
  2. if (!isset($_POST["entry"])) {
  3. $entry = "'0', ";
  4. $heroic_entry = "'0', ";
  5. $modelid_A = "'0', ";
  6. } else if (isset($_POST["entry"])) {
  7. $entry = "'".$_POST["entry"]."', ";
  8. $heroic_entry = "'".$_POST["entry"]."', ";
  9. $modelid_A = "'".$_POST["modelid_A "]."', ";
  10. ?>
  11.  
  12. oraz
  13.  
  14. <?php echo $test21 = "<textarea name=sql wrap=off cols=100 rows=1>
  15. INSERT INTO `test3` VALUES (".$entry, $heroic_entry, $modelid_A;);"</textarea>"; ?>


muszą się znaleźć w zewnętrznym pliku.

w "response" wyswietli sie wszystko co wyjdzie z w/w kodów
  1. <div id="response"></div>

assasin
No i tak mam:) klikam Wyślij.. i jestem przekierowany do pliku bezpośrednio..
marian84
hmmm.... przyczyn moze byc kilka... caly mintAjax smile.gif

pokaż kod bo na slepo za duzo nie pomoge...

najczestrza przyczyna jest to ze przykładowy

<button onclick="SendRequest()">Wyślij formularz</button>

znajduje sie w ramach <form></form> powinien byc na zewnatrz
assasin
Racja był pomiędzy form.. ale teraz gdy naciskam na button nic się nie dzieje;/
marian84
pokaz plik obslugujacy formularz
assasin
http://www.wklej.org/hash/876ddf58d64/
marian84
nie plik z formularzem, tylko plik obslugujący ... w Twoim przypadku to -> action="npc.php"

Dodatkowo nie wiem, czy jquery nie pogryzie sie z mintAjax i czy wogole podziala
assasin
http://www.wklej.org/hash/4073f2a58eb/
marian84
Kurcze... teoretycznie wszystko jest ok. masz to gdzies w sieci czy tylko na local ? Może jakieś błędy w przesyłaniu danych są... ja zazwyczaj sprawdzam to za pomocą firebug (dodatek do FF)
assasin
HoH nie znałem wszystkich możliwośći FireBuga:
Taki błąd:
Cytat
this.form is null
[Break on this error] eval(function(p,a,c,k,e,d){e=function(...ppendChild|200|300'.split('|'),0,{}))


Wie ktoś o co kaman??
marian84
nadales id dla <form> questionmark.gif

  1. <form id="form" ....
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-2025 Invision Power Services, Inc.