Autor Zpráva
Martin_82
Profil *
Ahojte,
zkousel jsem hledat a nemuzu najit.
Potreboval bych pomoci odkazu submitnout formular a zaroven mu predat hodnotu pro nejakou promennou.

Toto funguje (nepredam promenou):
<a href="#" onclick="document.formular.submit();return false">test</a>


A asi tady v tom mam neco, co je blbe...
<a href="#" onclick="document.formular.promennaA.value='2';document.formular.submi t();return false">test</a>


Muzete mi pomoct?
Nox
Profil
Martin_82
Můžeš použít
<input type="hidden" name="promenna">

onclick="document.forms[0].promenna='value';document.forms[0].submit() ">test</a>

A co přesně nefunguje? Jen na místo nedorazí proměnná? Chtělo by to ten kód
Martin_82
Profil *
Ja potrebuji pro pripad, ze klikne zakaznik na jeden odkaz, predat mu jednu hodnotu a kdyz klikne na druhy odkaz, predat hodnotu jinou ve stejne promenne. Z jisteho duvodu to nemuzu delat pres $_GET promenne a ani pres "hidden". Napadl me tedy Javascript.

Submitnout pomoci JS mi jde, to neni problem - jedna se mi o to, jak tu promennou pres JS predat...
Nox
Profil
Martin_82
Teď jsem to nepochopil, ale nevim jestli ti nepomůže fakt, že do cílového PHP skriptu dorazí proměnná name pouze toho submitu, na který uživatel klikl, tzn. pokud je
<input type="submit" name="abc1" value="odeslat">
<input type="submit" name="abc2" value="odeslat">
a uživatel klikne na 2., tak $_POST["abc1"] nebude definovaná a $_POST["abc2"] bude existovat a její existence možná zjistit přes isset()
Martin_82
Profil *
asi takhle:

<form method="post" name="formular">
<a href="#" onclick="pokud klikne zde na odkaz, chci odeslat promenou ABC s hodnotou 1">
<a href="#" onclick="pokud klikne zde na odkaz, chci odeslat promenou ABC s hodnotou 2">
<input....>
<input....>
<input....>
<input type="submit" name="odeslat" value="odeslat">
</form>

Je to jasnejsi? :)
peta
Profil
Martin_82
1. odkaz na stranku
2. co pise JS koznola? nic? tak bod 1
3.
document.formular.promennaA
pokud neexistuje input / textarea s name="promennaA" , tak to nemuze fungovat a JS konzola vypise 'promennaA' is not defined na radku tom a tom
<input....>
tezko rici, zda to tam mas nebo ne, viz bod 1 a tvuj kus neceho, co tam jiste takto presne nemas.
4.
nemuzu ... a ani pres "hidden"
A je to reseni. Pokud tam ten input nemuzes vytvorit do html kodu, tak jej muzes pridat pres javascript. Kazdopadne to znamena, MUZES.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: