» Poradna » Programy

Odeslání form pomocí a href

 |   |  Microsoft Windows 7 Chrome 38.0.2125.122

Dobrý den, potřeboval bych poradit. Potřebuji odeslat proměné pomocí form a form odešlu přes tlačítko, ale já bych to chtěl odeslat přes <a href>. Prostě chci dát na obrázek odkaz a tim že lidi kliknou na obrázek zpracuje se form... Momentálně to mám tak to. echo '<img src='.$slozka_souboru_jmeno."/".$soubor.' style="border: 2px solid #FFFFFF;" height="115" width="153">'; echo '<form action="index.php?strana=galerie_foto" method="post">'; echo '<input type="hidden" name="sent" value="">'; echo '<input type="hidden" name="slozka" value='.$slozka_souboru_jmeno.' value="">'; echo '<input type="hidden" name="fotka" value='.$soubor.'>'; echo '<input type="submit" name="send" value="Zvětšit" style="background:#009CC4; border: 2px solid #ffffff;">'; echo '</form>';}

Mohlo by vás také zajímat

Odpovědi na otázku

avatar
 | Microsoft Windows 7 Firefox 33.0

Formulář jde odeslat js-kem, dej obrázku <a> nikam kvůli vzhledu a přez událost onclick to skus zpracovat a browser pošli kam potřebuješ, jen nevím, jestli to nezablokuje nějaké zabezpečení, docela si hlídají co js provádí.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 38.0.2125.122

Mohl bys mi napsat kod? Nejsem v tomhle moc dobrý.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 38.0.2125.122

už to mam děkuji

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 38.0.2125.122

Tak to nejde, po kliknutí na obrázek se nic neděje. <?php$slozka_souboru_jmeno = "galerie";$dir = dir($slozka_souboru_jmeno);while ($soubor = $dir->read()) { if ($soubor == "." || $soubor == "..") continue; echo '<a href onclick="document.'.$soubor.'".submit()"><img src='.$slozka_souboru_jmeno."/".$soubor.' style="border: 2px solid #FFFFFF;" height="115" width="153"></a>';} echo '<form name='.$soubor.' action="index.php?strana=galerie_foto" method="post">'; echo '<input type="hidden" name="sent" value="">'; echo '<input type="hidden" name="slozka" value='.$slozka_souboru_jmeno.' value="">'; echo '<input type="hidden" name="fotka" value='.$soubor.'>'; echo '</form>';?>

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 33.0

Možná dát událost onclick obrázku místo odkazu? Syntaxi odeslání formuláře z hlavy nedám, ale jestli je z příkladu tak asi správně.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

Prosímtě normálně dej formu id (form id="form1") a v něm img onclick="form1.submit()"

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 38.0.2125.122

To je ok, ještě potřebuju do input name fotka nahrát proměnou $soubor z té určité fotky. jak to můžu poslat z toho on click <?php$slozka_souboru_jmeno = "galerie";$dir = dir($slozka_souboru_jmeno);while ($soubor = $dir->read()) { if ($soubor == "." || $soubor == "..") continue; echo '<img src='.$slozka_souboru_jmeno."/".$soubor.' onclick="form.submit()" style="border: 2px solid #FFFFFF;" height="115" width="153">';} echo '<form id="form" action="index.php?strana=galerie_foto" method="post">'; echo '<input type="hidden" name="sent" value="">'; echo '<input type="hidden" name="slozka" value='.$slozka_souboru_jmeno.' value="">'; echo '<input type="hidden" name="fotka" value="">'; echo '</form>';?>

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

nikdo nevi?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

Nějak nechápu o co se teda snažíš...napiš to znova a srozumitelně co chceš udělat

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 39.0.2171.65

potřebuju ještě v tom on click poslat proměnou soubor na imput fotka<input type="hidden" name="fotka" value="">'

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux AppleMAC-Safari 5.0

V klientském .js chceš někam poslat serverovou proměnnou ???? Na "imput"? Co si pod tím máme představit? Popiš radši co má být výsledkem,takhle to nemá cenu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 39.0.2171.65

Je to galerie, kde se mi načítají malé obrázky pomocí while, a já potřebuju aby po kliknutí na určitej obrázek mi to odeslalo formulář (to už mám), ale aby to ještě do formuláře přidalo název oobrázku, takže potřebuju něco takového <img src='.$slozka_souboru_jmeno."/".$soubor.' onclick="form.submit()" onclick="form.fotka.$soubor">a to form.fotka.$soubor by sse poslalo do value jsemecho '<input type="hidden" name="fotka" value="">';

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 39.0.2171.65

Pochopil jsi to?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 33.0

Nemůžeš dát dvakrát onclick na jednou, ale dva příkazy, to snad půjde:<img src='.$slozka_souboru_jmeno."/".$soubor.' onclick='form.fotka.value='".$soubor.'";form.submit()'>Další možnost je javascript kterýmu předáš $soubor jako parametr, kterým naplní pole formu a odešle ho.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 39.0.2171.65

Tak jsem to nějak splácal, akorát po kliknutí na obrázek se nic neděje. pokud dám pryč document.form.fotka.value='.Soubor.', tak to reaguje a přesměruje mě to na formullář ale já potřebuju posílat i to druhé echo '<img src='.$slozka_souboru_jmeno."/".$soubor.' onclick="form.submit(); document.form.fotka.value = '.$soubor.'" style="border: 2px solid #FFFFFF;" height="115" width="153">';} echo '<form id="form" action="index.php?strana=galerie_foto" method="post">'; echo '<input type="hidden" name="sent" value="">'; echo '<input type="hidden" name="slozka" value='.$slozka_souboru_jmeno.' value="">'; echo '<input type="hidden" name="fotka" value="">'; echo '</form>';

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Macintosh OS X AppleMAC-Safari 5.0

Proč odesílat formulář pomocí tagu a javascriptu, když to jde udělat naprosto standardně například těmito způsoby:1. <input type="image" src="obrazek.jpg">2.použít normální submit tlačítko a pomocí css mu skrýt text, barvu pozadí a ohraničení a nastavit velikost a background-image

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 37.0.2062.102

Protože pokud to budu mít ve formu tak nemůžu dávat třeba 4 obrázky vedle sebe. Potřebuju to tak jak jsem napsal.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 7 Firefox 33.0

Pokud víš předem kolik bude náhledů vedle sebe, použij tabulku, v každé buňce tabulky bude jeden form s potřebným obsahem. Napsat jak to vygenerovat z databáze není žádná tragédie.Další legrácka je, jak se zbavit nechtěného odřádkování za formulářem: tag <fom> a </form> dej před <td> a za </td> - buňka tabulky bude uvnitř formuláře, odřádkování se neprojeví.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 39.0.2171.65

vyřešeno.naknec jsem to udělal takto <?php$slozka_souboru_jmeno = "galerie";$dir = dir($slozka_souboru_jmeno);while ($soubor = $dir->read()) { if ($soubor == "." || $soubor == "..") continue; echo '<a href="index.php?strana=galerie_foto&fotka='.$soubor.'" style="text-decoration: none;"><img src='.$slozka_souboru_jmeno."/".$soubor.' style="border: 2px solid #FFFFFF;" height="115" width="153">&nbsp;</a>';}?>

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Echo, Form, Href, Odeslání, Value, Input, Hidden, Type, Solid