Autor | Zpráva | ||
---|---|---|---|
Honzaaa Profil * |
#1 · Zasláno: 8. 5. 2012, 15:32:52
Prosím o radu. Mám následující kód:
<input name=kdo type=text> <button>Ano</button> <button>Ne</button> No a potřeboval bych na každý button dát onclick tak, aby po kliknutí na button se mi načetla stránka s parametrem, který je v inputu. Řeším to takto, ale zjevně je to špatně: <input name=kdo id=kdo type=text> <button onclick='window.location.href=index.php?kdo=kdo.value&vysledek=ano'>Ano</button> <button onclick='window.location.href=index.php?kdo=kdo.value&vysledek=ne>Ne</button> Javascript neovládám ale vzhledem k tomu, že jeden formulář nemůže mít dvě odesílací tlačítka a zde to situace vyžaduje, domníval jsem se, že to snadno nahradím buttony s javascriptem, ale už hodinu zkouším různé možnosti a nedaří se ... prosím o radu jak to má být správně, věřím, že pro zkušené to je brnkačka :-) předem díky |
||
Str4wberry Profil |
V novějších prohlížečích než Explorer 6, nejsou dvě odesílací tlačítka problém*.
*) Při zachování požadované struktury adres. |
||
Honzaaa Profil * |
#3 · Zasláno: 8. 5. 2012, 15:50:34
Str4wberry:
moc děkuji, to jsem vůbec netušil ... alespoň se nemusím prát s javascriptem :-) |
||
Darker Profil |
#4 · Zasláno: 8. 5. 2012, 15:50:50 · Upravil/a: Darker
Musíš rozlišovat ve skriptu textové řetězce.
Když chceš změnit adresu musíš cílovou adresu dát do uvozovek: location.href = "index.php?vys=ano" Každý element formuláře (input, čudlík) má vlastnost form což je objekt nadřazeného formuláře. Tem má zaas naopak vlastnost např. kdo, která ukazuje na input(y) s názvem kdo. Co chceš: <form method="get" action="index.php"> <input name="kdo" type="text" /> <input type="submit" value="ano" name="vysledek"/><input type="submit" value="ne" name="vysledek" /> </form> Jak dostat value jiného inputu ve formuláři: <form method="get" action="index.php"> <input name="kdo" type="text" /> <input type="button" value="Řekni" onclick="alert(this.form.kdo.value)"/> </form> |
||
Honzaaa Profil * |
#5 · Zasláno: 8. 5. 2012, 15:59:01
Darker:
děkuji za vysvětlení, alespoň vím, co jsem dělal špatně. Každopádně, raděju půjdu tou cestou bez javascriptu. Především jsem se tam totiž ještě pral s těma uvozovkama, tuhle část kódu jsem totiž generoval přes php, tedy za echo byly jedny uvouovky (dvojité), za onclick= jsem použil druhé uvouovky (jednoduché) a za location.href bych musel použít už asi jedině trojté uvozovky :-D které nejsou .... asi by i to šlo nějak vyřešit, ale pro mě už to byl uvozovkový masakr :-) |
||
Chamurappi Profil |
#6 · Zasláno: 8. 5. 2012, 16:04:34
Reaguji na Str4wberryho:
„V novějších prohlížečích než Explorer 6“ V čem by byl problém u Exploreru 6 a starších? |
||
Darker Profil |
Honzaaa:
„pral s těma uvozovkama“ echo "<input type=\"text\" onclick=\"alert('Hodnota inputu \\'pepa\\': '+ this.value)\" name=\"pepa\">"; <input type="text" onclick="alert(\"BAF\")"> |
||
Honzaaa Profil * |
#8 · Zasláno: 8. 5. 2012, 16:22:31
Darker:
jak snadné :-) ... no mám se ještě hodně co učit ... díky |
||
Str4wberry Profil |
#9 · Zasláno: 8. 5. 2012, 16:45:40
V čem by byl problém u Exploreru 6 a starších?
Staří Explorerové odešlou pokaždé všechny <button type=submit> y, ne jen ten, na který bylo kliknuto. (Také odesílají vnitřek značky místo value , ale to by tu nemuselo vadit.)
Pokud tedy člověk nemůže použít více <input type=submit> ů (které touto vlastností netrpí), vícenásobné <button> y mu v nich fungovat nebudou.
|
||
Časová prodleva: 12 let
|
0