Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][AJAX]Skrypt, który nie działa
Forum PHP.pl > Forum > Przedszkole
Watt
Witam,

Ucze sie AJAXa no i napisałem sobie skrypt, który powinien wypełniac plik, no ale nie działa - mógłby ktoś pomóc (wszytkie pliki sa w jednym folderze na sewerze www):
Plik zuo.html:
Kod
<html><body>

<script language="JavaScript" type="text/javascript">
function getXMLHTTPRequest() {
req = false;
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

var http = getXMLHTTPRequest();

function useHttpResponse() {

  var myurl = 'http://xxxx.eu/nauka/zuo.php'; // tu jest moja domena na ktorej jest skrypt
  myRand = parseInt(Math.random()*999699999999999);
  var modurl = myurl+"?pole1=" + document.form.pole1.value + "&pole2=" + document.form.pole2.value + "&rand=" + myRand;  
  http.open("GET", modurl, true);
  http.onreadystatechange = function{
        if (http.readyState == 4) {
            if(http.status == 200) {
                document.getElementById('lol').innerHTML = "zrobilem";
            }
        }
    }
  
  
  http.send(null);

}
</script>

<form name="form">
<input type="text" name="pole1" style="width: 200px;" /><br />
<textarea name="pole2" style="width: 200px; height: 100px;">
</textarea><br />
<input onClick="useHttpResponse();" type="button" value="Zapisz" />
</form>
<br>
<div id="lol"></div>
</body></html>


Plik zuo.php
  1. <?php
  2. $pole1 = trim($_GET['pole1']);
  3. $pole2 = trim($_GET['pole2']);
  4.  
  5. if(!empty($pole1) and !empty($pole2)){
  6.    
  7.  
  8.    $dane = $pole1." ".$pole2."\n";
  9.  
  10.    $file = "baza.txt";
  11.  
  12.    $fp = fopen($file, "a");
  13.  
  14.  
  15.  
  16.    fwrite($fp, $dane);
  17.  
  18.  
  19.  
  20.    fclose($fp);
  21.    
  22.    echo "Dane zostały zapisane!<br />";
  23. }
  24. ?>


Pozdrawiam
nmts
Czegoś zapomniałeś?
Kod
http.onreadystatechange = function{
Watt
Nie, przecież to jest w kodzie:

Cytat
http.open("GET", modurl, true);
http.onreadystatechange = function{
if (http.readyState == 4) {
if(http.status == 200) {


Dobrze mówię(?), bo nie wiem dopiero zaczynam w tym pisać .
nmts
function musi mieć nawiasy (), inaczej javascript się wysypię winksmiley.jpg
Watt
Zamieniłem na
Kod
<html><body>

<script language="JavaScript" type="text/javascript">
function getXMLHTTPRequest() {
req = false;
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

var http = getXMLHTTPRequest();

function useHttpResponse() {

  var myurl = 'http://xxxx.eu/nauka/zuo.php'; // tu jest moja domena na ktorej jest skrypt
  myRand = parseInt(Math.random()*999699999999999);
  var modurl = myurl+"?pole1=" + document.form.pole1.value + "&pole2=" + document.form.pole2.value + "&rand=" + myRand;  
  http.open("GET", modurl, true);
  http.onreadystatechange = function{
        if (http.readyState == 4) {
            if(http.status == 200) {
                document.getElementById('lol').innerHTML = "zrobilem";
            }
        }
    }
  
  
  http.send(null);

}
</script>

<form name="form">
<input type="text" name="pole1" style="width: 200px;" /><br />
<textarea name="pole2" style="width: 200px; height: 100px;">
</textarea><br />
<input onClick="useHttpResponse();" type="button" value="Zapisz" />
</form>
<br>
<div id="lol"></div>
</body></html>

i dalej nic, Firebug wskazuje 0 błędów.
drake88
Cytat(nmts @ 25.07.2009, 22:54:38 ) *
function musi mieć nawiasy (), inaczej javascript się wysypię winksmiley.jpg


Jakoś nie widzę tych nawiasów co podał w/w kolega, tylko {
b4x
  1. <script language="JavaScript" type="text/javascript">
  2. function useHttpResponse() {
  3.  
  4. var myurl = 'http://xxxx.eu/nauka/zuo.php'; // tu jest moja domena na ktorej jest skrypt
  5. myRand = parseInt(Math.random()*999699999999999);
  6. var modurl = myurl+"?pole1=" + document.form.pole1.value + "&pole2=" + document.form.pole2.value + "&rand=" + myRand;
  7. http.open("GET", modurl, true);
  8. http.onreadystatechange = function() {
  9. if (http.readyState == 4) {
  10. if(http.status == 200) {
  11. document.getElementById('lol').innerHTML = "zrobilem";
  12. }
  13. }
  14. }
  15.  
  16.  
  17. http.send(null);
  18.  
  19. }
Fifi209
Do Ajax'a polecam skorzystać z gotowych rozwiązań jak np: jQuery(którego sam używam), mintajax etc.
Pamiętaj jak piszesz "swojego ajaxa" to musisz zadbać o różne przeglądarki. ;>
Watt
@Edit: Działa dzieki
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.