Mam skrypt, ktory przy pomocy AJAX'a wyciaga z bazy danych nazwe klienta, ktorego wybieramy z listy rozwijalnej <SELECT>, a nastepnie pobiera z bazy dancych rozne informacje go dotyczace i automatycznie wypelnia pola INPUT.
Skrypt bezproblemowo dziala pod Firefox'em (1.5.0.7) nie chce natomiast dzialac pod Opera (8.54) i IE (6). Skrypt wyglada nastepujaco:
<?php include 'naglowek.inc'; include 'polaczenie.inc'; ?> <script type="text/javascript" src="advajax.js"></script> <script LANGUAGE="JavaScript"> function Pokaz1() { var v = document.formularz.firmy.selectedIndex; var x = document.formularz.firmy[v].value; <?php ?> advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); advAJAX.post({ parameters : { "nazwa" : x }, onSuccess : function(obj) { document.formularz.<?php echo $zmienna[$element]; ?>.value = obj.responseText; }, onError : function(obj) { alert("Error: " + obj.status);}, } ); } </SCRIPT> <table border="1"> <tr> <td></td> <td>KlientZleceniodawca: </td> <td><form action="wprowadz.php" method="post" name="formularz"> <select name='firmy' onchange=Pokaz1()> <option>---WYBIERZ---</option> <?php $pobranie = "select * from firmy order by nazwa_dostawcy"; for($i = 0; $i < $liczba_wierszy; $i++) { } ?> </select> </td> <td>Data: </td> <td> <?php ?> </td> <td></td> </tr> <tr> <td rowspan="3">Zleceniodawca</td> <td>Nazwa</td> <td> <input type="text" name="nazwa_dostawcy"> </td> <td>Ulica</td> <td> <input type="text" name="ulica"> </td> </tr> <tr> <td>Miejscowość</td> <td> <input type="text" name="miasto"> </td> <td>Kod pocztowy</td> <td> <input type="text" name="kod"> </td> </tr>
Kod pliku pob.php:
<?php include 'polaczenie.inc'; $numer = $_GET['numer']; $pobierz_miasto = "select * from firmy where nazwa_dostawcy="$_POST[nazwa]""; } } ?>
Opera wyswietla nastepujacy blad:
http://localhost/transport/wprowadz.php
Unknown context
Syntax error while loading: line 14 of inline script at http://localhost/transport/wprowadz.php :
}
--^
$title
http://localhost/transport/wprowadz.php
Event thread: change
Error:
name: ReferenceError
message: Statement on line 1: Reference to undefined variable: Pokaz1
Backtrace:
Line 1 of script
Pokaz1();
At unknown location
[statement source code not available]
IE zglasza blad w liniach 22 i 83