Witam
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
$zmienna = array(nazwa_dostawcy
, miasto
, ulica
, kod
, nip
, telefon
); ?>
advAJAX.post({
url:
<?php $element = 0; echo '"pob.php?numer='.$element.'"'; ?>,
parameters : {
"nazwa" : x
},
onSuccess : function(obj) { document.formularz.
<?php echo $zmienna[$element]; ?>.value = obj.responseText; },
onError : function(obj) { alert("Error: " + obj.status);},
}
);
advAJAX.post({
url:
<?php $element = 1; echo '"pob.php?numer='.$element.'"'; ?>,
parameters : {
"nazwa" : x
},
onSuccess : function(obj) { document.formularz.
<?php echo $zmienna[$element]; ?>.value = obj.responseText; },
onError : function(obj) { alert("Error: " + obj.status);},
}
);
advAJAX.post({
url:
<?php $element = 2; echo '"pob.php?numer='.$element.'"'; ?>,
parameters : {
"nazwa" : x
},
onSuccess : function(obj) { document.formularz.
<?php echo $zmienna[$element]; ?>.value = obj.responseText; },
onError : function(obj) { alert("Error: " + obj.status);},
}
);
advAJAX.post({
url:
<?php $element = 3; echo '"pob.php?numer='.$element.'"'; ?>,
parameters : {
"nazwa" : x
},
onSuccess : function(obj) { document.formularz.
<?php echo $zmienna[$element]; ?>.value = obj.responseText; },
onError : function(obj) { alert("Error: " + obj.status);},
}
);
advAJAX.post({
url:
<?php $element = 4; echo '"pob.php?numer='.$element.'"'; ?>,
parameters : {
"nazwa" : x
},
onSuccess : function(obj) { document.formularz.
<?php echo $zmienna[$element]; ?>.value = obj.responseText; },
onError : function(obj) { alert("Error: " + obj.status);},
}
);
advAJAX.post({
url:
<?php $element = 5; echo '"pob.php?numer='.$element.'"'; ?>,
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++)
{
echo "<option value='".$wiersz['nazwa_dostawcy']."'>".$wiersz['nazwa_dostawcy']."</option><br>"; }
?>
</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'];
$typ = array(nazwa_dostawcy
, miasto
, ulica
, kod
, nip
, telefon
); $pobierz_miasto = "select * from firmy where nazwa_dostawcy="$_POST[nazwa]"";
}
}
?>
Opera wyswietla nastepujacy blad:
http://localhost/transport/wprowadz.phpUnknown context
Syntax error while loading: line 14 of inline script at
http://localhost/transport/wprowadz.php :
}
--^
$title
http://localhost/transport/wprowadz.phpEvent 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