Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak nakarmic js danymi z php
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
seeb
Od reki powiem, ze to moje poczatki i mam nadzieje koniec javascriptu:)

<script type="text/javascript" id="lista" src="">


onChange="document.getElementById('lista').src='skrypt.php?
product_id=';"


Jak dodać do tego np kolor bo na razie eksperymentuję


Generalnie to jestem programista php więc składnia js i DOM są mi obce
więc jeśli źle myślę to proszę o poprawkę.


Ideą tej zmiany jest aby poniższa lista dostępnych rozmiarów dla
kolorów była generowana w php
jeśli by sie udało to rozwiązało by mi problem


Skrypt php tworzy mi cos takiego
<script type="text/javascript">

</script>
tak chcialem wczytac te dane po zmianie pola select/options


<script type="text/javascript" id="lista" src=""></script>



<select name="id[2]" onChange="document.getElementById('lista').src='skrypt.php?product_id=';">
niestety nie rozumiem 2 rzeczy dlaczego po zmianie selecta nie nastepuje wczytanie danych ze skryptu php i nie bardzo wiem jak dodac jeszcze jedna zmienna dla skryptu

Ideałem by było gdyby drugi zalezny select byl disable puki nie zostanie wybrana jakas opcja z pierwszego selecta ale to bardziej kwestia marzen niz realizacji w moim przypadku smile.gif
Jak by ktos chcial to podesle calosc dla tego przypadku.
Za wszelka pomoc bede wdzieczny.

Pomijajac kwestie karmienia danymi jeszcze nie dziala mi odblokowanie po onChange
calosc kodu poniżej:
CODE

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<!-- te dane powinny byc z php ale tymczasowo wklepane recznie do czasu rozwiazania problemu -->

<script language="javascript">
<!--//
var rozmiar=new Array()
rozmiar[0]=""
rozmiar[1]=["70A|19", "70B|13", "70C|1", "70D|15", "75A|14","75B|5","75C|7","80B|199","80C|519","80D|139","85C|192"]
rozmiar[2]=["70C|1", "70D|15", "75A|14","75B|5","75C|7","80B|199","80C|519","80D|139","85C|192"]
rozmiar[3]=["70A|19", "70B|13", "70C|1", "70D|15", "75A|14","75B|5","75C|7","80B|199","80C|519","80D|139","85C|192"]
rozmiar[4]=["70A|19", "70B|13", "80B|199","80C|519","80D|139","85C|192"]
rozmiar[5]=["70A|19", "70B|13", "70C|1", "70D|15", "75A|14","75B|5","75C|7","80B|199","80C|519","80D|139","85C|192"]
rozmiar[6]=["70A|19", "70B|13", "70C|1", "70D|15", "75A|14","75B|5","75C|7"]
//-->
</script>
<form name="cart_quantity" action="nic.php" method="get">
<select name="id[2]" onChange="pokazrozmiar(this.selectedIndex); odblokuj();">
<option selected="selected">Wybierz kolor</option>
<option value="1">Biały</option>
<option value="2">Czarny</option>
<option value="3">Ecru</option>
<option value="4">Czerwony</option>
<option value="5">Fiolet</option>
<option value="6">Brąz</option>
</select>
<select name="id[1]" disabled="disabled"></select>
<input type="submit" name="submit" value="sub">
</form>
<script type="text/javascript">
<!--//
var listakolorow = document.forms['cart_quantity'].id[2]
var listarozmiarow = document.cart_quantity.elements['id[1]']

function pokazrozmiar(selectedrozmiary){
listarozmiarow.options.length=0
if (selectedrozmiary>0){
for (i=0; i<rozmiar[selectedrozmiary].length; i++)
listarozmiarow.options[listarozmiarow.options.length]=new Option(rozmiar[selectedrozmiary][i].split("|")[0],
rozmiar[selectedrozmiary][i].split("|")[1])
}
}
function odblokuj(){
MyElement = document.cart_quantity.elements['id[1]']
MyElement.disabled='false'
}
//-->
</script>
<!-- document.cart_quantity.elements['id[1]'].disabled='false' <- tez nie dziala -->
</body>
</html>
werek
w skrocie to odpowiedzia na twoj problem jest ajax. wejdz na www.prototypejs.org i tam znajdziesz w sekcji tutorial przyklad z wykorzystanie wlasnosci responseText i przypisywanie jej do okreslonego div'a (mozesz to wykorzystac do aktualizacji zawartosci swojego elementu)
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.