select onchange problem

0

witam serdecznie,
mam sobie taki oto kodzik:

echo "<select name=datka id=datka onchange=loadXMLDoc(\"index.php/sport/kursyDokl/2/datka.value/\",'srodek')>


		<option value='6969'>this.value</option>
		<option value='6969'>Tu wpisz drugą</option>
               
	</select> ";

napisane to jest we framework'u : codeigniter. juz tlumacze co chcialbym uzyskac. ten skrypcik loadXMLDoc laduje mi zawartosc pliku kursyDokl z parametrami 2, (parametr ktory chce pobrac z listy) i wlasnie problem lezy w tym ze nie moge go pobrac z tej listy:| nie mam pojecia jak to wrzucic ale juz sie z tym tyle mecze ze postanowilem zapytac bardziej doswiadczonych webmasterow;) dodam ze jak zamiast datka.value wpisze po prostu 6969 to dostaje wynik jakiego oczekiwalem.
dziekuje i pozdrawiam

0

PHP generuje stronę i HTML wynikowy wygląda tak:
<select name=datka id=datka onchange=loadXMLDoc("index.php/sport/kursyDokl/2/datka.value/",'srodek')> ...
Jako parametr do funkcji loadXMLDoc przekazujesz stringa w postaci "index.php/sport/kursyDokl/2/datka.value/". "datka.value" jest wpisana literalnie, JS nie będzie interpretował tego jako wartość elementu datka.
Rozwiązanie jest proste:

echo '<select name=datka id=datka onchange="loadXMLDoc(\'index.php/sport/kursyDokl/2/\' + datka.value + \'/\', \'srodek\')">


                <option value="6969">this.value</option>
                <option value="6969">Tu wpisz drugą</option>
               
        </select> ';

Atrybuty JS koniecznie trzeba umieszczać w cudzysłowach, omijając w ten sposób możliwe błędy, gdy w funkcji JS znajdzie się jakaś spacja :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1