Nie wiem - nie ogarniam tego... próbuję się tego nauczyć ale te poradniki są tak kiepsko napisane... np. nie wiem co robi to "true" w .open("POST","skrypt", true); Mało tego nie wiem jaką ścieżkę zastosować do owego skryptu... czy muszę podać http://nazwahosta/katalogi/skrypt.php czy muszę może podać tylko katalogi/skrypt, bo AJAX sam będzie wiedział że jest to odwołanie do tego samego hosta na tym samym protokole (http lub https)... dużo kwestii jest dla mnie niejasnych. Jak mam grzebać w czymś , czego nie rozumiem :( na studiach nie miałem ani AJAX'a ani JavaScript ani JQuery... z tego tytułu jestem samoukiem, więc nie dziw mi się, że nie potrafię debugować skryptów JS.
Tak, robiłem die('dupa') i nic z tego. Zmieniłem koncepcję bo z tamtym nie umiem sobie poradzić. Może i jestem kiepski ale każdy czegoś się uczy. Też kiedyś byłeś na moim miejscu. Nie pisałbym na forum gdybym potrafił sobie z tym poradzić...
Tak wygląda strona:
http://img856.imageshack.us/img856/7301/autokomis.png
Teraz mam 2 pola. plik php w divie i wygląda tak:
<h3>Edytuj dane istniejącego samochodu</h3>
<form action="javascript: szukaj();" method="POST">
<table style="width: 100%; text-align: right; margin-bottom: 15px;">
<tr>
<td style="width: 50%" id="lala">
<label>Szukaj po :</label>
<select name="search_by" id="search_category" class="pole_wyboru" OnChange="usun_opcje('search_category','none'); zmien_stan('pole_wyszukiwania',false); ">
<option value="none">wybierz kryteria</option>
<option value="mark">marce</option>
<option value="model">modelu</option>
<option value="year">roku produkcji</option>
<option value="vin">numerze VIN</option>
<option value="id">ID w bazie danych</option>
</select>
<td style="width: 50%; text-align: left;">
<input name="search" id="pole_wyszukiwania" class="pole_wyboru" disabled="disabled">
<tr>
</table>
<br/>
<div id="przyciski">
<button class="btn_login" id="ok" style="border: 1px black solid; color:black;" onclick="return szukaj();"><img src="./img/icon-change.png" alt="+"/> Wyszukaj</button>
<button class="btn_logout" id="cancel" type="button" style="border: 1px black solid; color: #9f0000;" onclick="close_window('box'); return false"><img src="./img/icon-back.png" alt="-"/> anuluj</button>
</div>
<div id="found">
</div>
</form>;
Skrypt JS wygląda tak:
/*******************************************************************************/
/*FUNKCJE OBSŁUGI MODUŁU EDYCJI SAMOCHODÓW*/
/*ZMIEŃ WŁAŚCIWOŚĆ OBIEKTU Z DISABLE NA ENABLE I ODWROTNIE*/
/*PIERWSZY PARAMETR TO ID OBIEKTU, DRUGI PARAMETR PODAJEMY TRUE (element zablokowany) LUB FALSE (element odblokowany) */
function zmien_stan(idobiektu,blokada)
{
document.getElementById(idobiektu).disabled=blokada;
}
function usun_opcje(idobiektu,opcja)
{
$("#"+idobiektu+" option[value='"+opcja+"']").remove();
}
//obsługa OnClick wyszukiwarki
function szukaj()
{
var path = "http://" + window.location.hostname + window.location.pathname.replace(/index.php/i,"");
var path_2 = "img/loading.gif";
if (document.getElementById('pole_wyszukiwania').value=='')
{
alert ('Wpisz zawarto\u015bć pola zgodnie z kryterium wyszukiwania.');
return false;
}
if (window.XMLHttpRequest)
{// Dla IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// Dla IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState!=4)
{
document.getElementById('przyciski').innerHTML('<img src="'+path+path_2+'" alt=""/>');
}
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("found").innerHTML=xmlhttp.responseText;
}
}
//ar katalog= rootdomain
xmlhttp.open("GET","operations/edit_car/actions.php",true);
xmlhttp.send();
return true;
}
Proszę teraz plik actions.php:
<?php
die('dupa');
?>
Teraz jak kliknę na WYSZUKAJ to wyświetla się puste okienko (testuję na Mozilla Aurora) w którym widnieje treść : "true" a w adresie przeglądarki pokazuje się wywołanie funkcji: "javascript: szukaj();".
KATALOGI
Moja strona zbudowana jest tak, że aby do niej się dostać z lokala należy wpisać http://localhost/autokomis i w tym momencie startuje plik index.php.
Plik php który odpowiedzialny jest za okienko wyszukiwania w module edycji samochodów jest w katalogu http://localhost/autokomis/pages/subpages/edit_car.php.
Skrypt .php który odpowiedzialny jest za obsługę wyszukiwarki znajduje się w katalogu http://localhost/autokomis/operations/edit_car/actions.php.
Teraz powiedz jak mam skonfigurować skrypt AJAX. Chyba, że jesteś w stanie wyjaśnić co się po kolei w tym skrypcie dzieje (jaka jest procedura przetwarzania tego skryptu poprzez przeglądarkę, która odczytuje funkcję szukaj();). Szukałem po samouczkach ale nie bardzo je rozumiem (być może jestem tyle tępy odnośnie JS)...
Wielkie dzięki za cierpliwość :) gdybym miał możliwość, postawiłbym Ci piwko za pomoc :) i to nie jedno hihi