[ stranac2 @ 28.11.2003. 07:14 ] @
Kod:

<form method=POST>
<select name=izbor onChange="this.form.submit()">
<?php
include "../baza.php";
$query="SELECT ID,Naziv FROM tros ORDER BY Naziv";
$result=mysql_query($query,$connection);
while($row=mysql_fetch_row($result)) {
print("<option value=$row[0]");
if($row[0]==$_POST[izbor]) echo " selected";
print(">$row[1]</option>");
}
?>
</select>
</form>

Nakon izbora vrijednosti iz combo box-a stranica se ponovo u�ita i u combo box-u je aktivna ponovo prva vrijednost. Ja bih htio da je aktivna vrijednost koja je bila izabrana ($_POST[izbor]). Ovo sve dobro radi kad imam jednostavni submit gumb izme�u </select> i </form>, bez JavaScripta (onChange...). E, ja bih bez submit gumba i tu je problem.
Pozdrav
[ byTer @ 28.11.2003. 11:23 ] @
Probaj da napises novu funkciju koja ce da submituje i istovremeno da recimo u nekom hidden polju ili u URLu zahteva salje i taj ID. E onda taj parametar hvatas onim

if($row[0]==$_POST[izbor]) echo " selected";

stim sto umesto $_POST stavis neku drugu funkciju odnosno vrednost funkcije koja ce da se submituje.
[ stranac2 @ 28.11.2003. 11:36 ] @
OK, ali sam jo� uvijek slab u JavaScriptu. Mo�e primjer? -;)
[ leka @ 28.11.2003. 11:49 ] @
Najlakse ti je da u svojoj PHP skripti imas ACTION (najcesce je to PHP_SELF) URL i da putem varijable, recimo 'id' prenosis vrednosti.
U ovom slucaju toj kod se samo malo razlikuje:
Code:

<form method=POST action="<?= $_SERVER['PHP_SELF'].'?id='.$_REQUEST['id'] ?>">
<select name=izbor onChange="this.form.submit()">
<?php
include "../baza.php";
// ovde nesto radis sa id-jem koji ti je "prenesen" putem POST varijable "id"
$query="SELECT ID,Naziv FROM tros ORDER BY Naziv";
$result=mysql_query($query,$connection);
while($row=mysql_fetch_row($result)) {
print("<option value=$row[0]");
if($row[0]==$_POST[izbor]) echo " selected";
print(">$row[1]</option>");
}
?>
</select>
</form>


Ono sto je najbitnije u celoj prici je - negde moras imati SUBMIT! :) Dakle, ako neces onaj JavaScript, onda MORAS da ubacis makar jedan INPUT Submit element...

Napomena: nisam ti dao kod koji radi, vec kod na osnovu kojeg treba da sam dodjes do resenja svog problema...
[ stranac2 @ 28.11.2003. 14:04 ] @
leka, ok, ali ja ho�u JavaScript
[ bluesman @ 28.11.2003. 14:24 ] @
Za POST varijable ne znam, ali za GET imas

self.location.search

gde je deo urla posle znaka "?" (ukljucujuci i ?)

pa onda malo parsovanja, split.... i mozes dobiti vrednosti

Ali onda moras i select da generises kroz JS pa proveravas value i ako je ono sto je u self.location.search onda mu upises "selected".

Mada mi generalno nije jasno zasto bi ovo radio preko JS kada je mnogo komplikovanije? ako te muci ubacivanje php u JS to nije problem:

<script>
js_varijabla = "<?php echo $_POST['neka_vrednost']; ?>";

document.write (js_varijabla);
</script>

Da ne tupim, zasto preko JS?
[ noviKorisnik @ 28.11.2003. 14:34 ] @
JavaScript je potreban ako postoji potreba za dinamičkim generisanjem opcija selekt elementa, inače je bespotrebno komplikovanje - JS je, pored toga što je komplikovan, nepouzdan - jer može da se isključi (ne mora ni da radi na browseru).

Primer dinamičke promene opcija: http://www.elitesecurity.org/poruka/fajluzporuku/240275
[ stranac2 @ 01.12.2003. 07:04 ] @
Citat:
bluesman:
Da ne tupim, zasto preko JS?


Htio bih napraviti bez SUBMIT gumba (da se nakon izbora vrijednosti u combo box-u ne mora klikati na jo� jedan gumb, ve� da je izbor iz comba ujedno i submit). Izabrana vrijednost mi je bitna jer postoji jo� jedan vezani combo box �iji skup vrijednosti ovisi o izboru iz prvog combo box-a. Sve vrijednosti �upaju se baze. Pomo�u JS htio bih malo smanjiti klikanje.
[ stranac2 @ 01.12.2003. 07:12 ] @
Citat:
noviKorisnik:
JavaScript je potreban ako postoji potreba za dinamičkim generisanjem opcija selekt elementa, ...


Da, opcije se dinami�ki generiraju. Poku�ao sam prepravljati primjer, ali je previ�e specifi�an, a i malo sam slab u JS. Ina�e je to ono �to ho�u.
[ noviKorisnik @ 01.12.2003. 07:37 ] @
Izvinjavam se za primer, nisam imao ništa jednostavnije... No mogu malo kasnije dati nešto lakše...
---
izmena poruke:

Pogledaj fajl uz poruku. Jeste jednostavnije, opet nije opšte rešenje. Svodi se na to da definišeš nizove za sve opcije... Nije loše ako nemaš previše opcija koje bi ti bespotrebno napumpale stranicu.
Malo me brine što kažeš da si početnik u JS...

[Ovu poruku je menjao noviKorisnik dana 01.12.2003. u 14:34 GMT]
[ byTer @ 01.12.2003. 12:19 ] @
Citat:
stranac2:
leka, ok, ali ja ho浠JavaScript


Nemoguce je Java Scriptom locirati polje u select. jednostavno je nemoguce. Uzimaj ovo resenje sto ti covek predlozio da nekako preko php-a ili ASpa ispises tu opciju.!!!!
[ bluesman @ 01.12.2003. 15:21 ] @
Sada sam shvatio sta ti treba, tebi treba drugi list da se generise automatski u odnosu na izabranu vrednost iz prvog?

Da bi to uradio MORAS JavaScript ali pre toga moras da ucitas sve iz baze u JS array i to u dva odvojena. Onda, na onchange ne radis nikakv submit nego upisujes vrednosti iz niza koji je povezan na izabranu vrednost u drugi select. Da sada ne bih pisao ceo kod (za slucaj da te nisam razumeo) idi pogledaj bilo koji car-sale sajt gde imas izbor:

select make [ select sa prozivodjacima ]
select mode [ select sa modelima proizvodjaca - inicijalno prazan ]

pa kada covek izabere recimo "Citiroen"

u drugom drop-down-u se ispisu svi Citroen modeli, kada u prvom primeni u Peugeot, dole se modeli zamene za Peugeot modele

Jel' to tebi treba?
[ leka @ 01.12.2003. 16:43 ] @
Ili da select boksove strpa u neke zasebne frejmove...
[ stranac2 @ 03.12.2003. 07:37 ] @
Citat:
byTer:
Nemoguce je Java Scriptom locirati polje u select.


Mo�e li ovako (�ovjek mi je poslao kod, ovo je dio):
<form name=f>
<select name="ff"
onChange="location.search=this.form[0].selectedIndex">
<option value="AA">text1
<option value="BB">text2
<option value="CC">text3
</select>
</form>

<script>
if(location.search){
i=location.search.substring(1)
vrijednost=document.f[0].value
document.write(vrijednost)
}
</script>

[ stranac2 @ 03.12.2003. 07:40 ] @
Citat:
bluesman:
Sada sam shvatio sta ti treba, tebi treba drugi list da se generise automatski u odnosu na izabranu vrednost iz prvog?
Jel' to tebi treba?


Da, to je to.
Pozdrav
[ noviKorisnik @ 03.12.2003. 08:28 ] @
Ajde stranac - ne budi stranac.

Kako napreduje rešavanje problema tokom ove diskusije?
Citat:
tebi treba drugi list da se generise automatski u odnosu na izabranu vrednost iz prvog?
Da li si pogledao http://www.elitesecurity.org/poruka/fajluzporuku/242834
Ne znam jednostavnije, zaista, to radi, to je ono što si tražio. Zameni samo imena polja, funkcija,... kako ti je već potrebno. Nizove možeš da generišeš i sa serverske strane.

Onaj kod što si ostavio u prethodnoj poruci ne radi, drugačija je sintaksa - pogledaj u mom primeru kako se referencira vrednost selektovane opcije selekt elementa formulara dokumenta. Još bolje, nauči JS (ima dosta izvora), kreni od jednostavnijih stvari i videćeš da je moguće i rešenje za odabir željene opcije selekt elementa (druga stvar koju si tražio).
[ stranac2 @ 04.12.2003. 10:43 ] @
OK, noviKorisni�e, o�ito moram s JS krenuti od po�etka.

�to se ti�e mog problema, ne�to me mu�i ve� dulje vrijeme, a ima veze i s ovim.
Mo�da i nije za ovaj forum, ali se nadam da me moderator ne�e brisati.
Primjer:
<form method="POST">
<select name="izbor">
<option value="AA">text1
<option value="BB">text2
<option value="CC">text3
</select>
<input type=submit value="PRIHVA�AM">
</form>
<?php
echo $_POST["izbor"];
?>

a) Ako se npr. izabere druga opcija, varijabla izbor ima vrijednost BBizbor=BB (to dobijem iz echo $_POST["izbor"];)??!!. To isto se de�ava u slu�aju da submit radim pomo�u JS (<form method="POST" onChange="this.form.submit()"> ) i bez submit gumba.

b) Ako radim bez JS i dodam naziv submit gumbu (npr. <input type=submit name="kiki" value="PRIHVA�AM"> ) sve je OK (echo daje BB).

�to je uzrok? Ne vidim logiku. Pozdrav.
[ byTer @ 04.12.2003. 16:22 ] @
Ja sam ovde ostao nejasan.. ;) tek sad sam video. Znaci ako submit ide na istu stranicu uz pomoc javascripta

document.form.test.submit() neka se na toj formi nadje i hidden dugme koje ce da sadrzi vrednost ove funckije

Code:

fucntion getIndex() {
  document.form1.hiddenffield1.value  = this.options[this.selectedIndex].value
}


a na select stavljas sledece <select type="list" onChange="getIndex();"

E posle taj parametar hvatas sa $hiddenfield i onda sa IF pogledas koji ti je selected njemu pises parametar.
[ vladobk @ 14.05.2008. 17:21 ] @
Code:

<script>
var v = 88
</script>

<?php

 ///ovde uzeti varijablu v


?>

kako ovo uraditi
[ Miroslav Ćurčić @ 14.05.2008. 20:13 ] @
Nikako,
prvo će se na serveru izvršiti php blok, i korisniku poslati stranica bez tog bloka, a potom će se kod korsnika izvršiti script blok.

Jedino ako si mislio kako poslati uz submit vrenost neke JS promenljive.
Za to bi ti trebao jedan <input type="hidden" id="pantalone" name="pantalone">
pa da pred submit uradiš: document.getElementsById('pantalone').value= v;