| Autor | Zpráva | ||
|---|---|---|---|
| lukasb Profil |
#1 · Zasláno: 22. 12. 2009, 00:56:58
prosím vás, mám formulář kde mám na výběr ze třech možností. ale když nězaškrtnu zádnou možnost, tak bohužel mi to zahlásí chybu. jsem to pokoušel oštřit pomocí if,ale bezúspěšně :-(. vidíte někde chybu? díky!
<? if (is_array($chata) && count($chata) == 0) echo "Nevybral jste žádný objekt"; ?> Vyberte si prosím objekt <form method="post" action="r2.php" > <table> <tr> <td> <input type="radio" name="chata" value="aaa">aaa</td></tr> <tr> <td><input type="radio" name="chata" value="bbb">bbb</td></tr> <tr> <td><input type="radio" name="chata" value="ccc">ccc<br></td></tr> <tr> <td><input type="submit" name="odeslat" value="Dále"></td></tr> </table> </form> díky! |
||
| Lamicz Profil |
#2 · Zasláno: 22. 12. 2009, 02:22:05 · Upravil/a: Lamicz
IMHO bych zde radeji pouzil SELECT, tam neni co resit a vzdy neco musi vybrat. Radio je divny.
Jinak kdyz uz takhle, tak radeji if(isset($_POST['odeslat']) && isset($_POST['chata'])) |
||
| lukasb Profil |
#3 · Zasláno: 22. 12. 2009, 09:40:46
diký za odpověd! ale mě to prostě nefunguje :-(. když jsem to tvoje vyměnil za to co jsem tam měl já. tak to prostě bez problému pošle dál a pak to hodí chybu, při tlačítku dále ho nic nezastaví :-(.
|
||
| panther Profil |
#4 · Zasláno: 22. 12. 2009, 09:44:27
lukasb:
„ale mě to prostě nefunguje“ zkus popsat lépe, co znamená „prostě nefunguje“. Na toto nelze říci, než že je to rozbité „a pak to hodí chybu“ jakou chybu? „při tlačítku dále ho nic nezastaví :-(.“ tohle zkus napsat znovu a lépe. Nějak jsem ten konec nepochopil. |
||
| lukasb Profil |
#5 · Zasláno: 22. 12. 2009, 10:23:33
omlouvám se :-).
ten kod co mi poslal Lamicz nefunguje, že to neregauje na to tlačítko. Když žádnou možnost nezaškrtnu, tak to nic neošetří a pošle to do toho souboru r2.php s chybou. V tom souboru r2.php vybírám z DB údaje s oheldem na výber chaty. chyba je tato (v souboru r2.php) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource A ta poslední věc je ta, že jak jsem psal. když nic nevyplním a dám dále, nic to neudělá a pustí mě to do toho souboru r2.php, kde zahlásí chybu kvůli te DB. Mám třeba ošetřený jiný formulář (v jiném souboru)pomocí javascripu, že když hodnota je prádná, vyskočí na mě windows s textem, vyplnte pole. Šlo by to nějak udělat i tady, aby na mě vyskočila hláška či mě to nepustilo dále, do té doby než něco nezaškrtnu? Doufám, že jsem to ted napsal srozumitelně :-) |
||
| panther Profil |
#6 · Zasláno: 22. 12. 2009, 10:34:36
lukasb:
„Mám třeba ošetřený jiný formulář (v jiném souboru)pomocí javascripu, že když hodnota je prádná, vyskočí na mě windows s textem, vyplnte pole.“ zkoušel jsi, co tahle ochrana udělá s vypnutým javascriptem? Vůbec nic, nebude fungovat. |
||
| lukasb Profil |
#7 · Zasláno: 22. 12. 2009, 10:47:28 · Upravil/a: lukasb
čili jak dobře chápu, tak k tomu ještě musím udělat javascript,vid?
vím, že to jsem nepatří ted ten JS,ale určitě mi s tím poradíte.jsem to zkoušel také v kombinací s tím JS a žádná vyjímka se neošetří, jak jsem psal, dám dále a postoupí to do dalšího souboru. po opravě: hlavička formuláře <form action="r2.php" method=POST name="g1" onSubmit="return zkontroluj_formular();">
function zkontroluj_formular()
{
if (g1.chata.value=="") {
alert("zaškrtněte objekt,prosím!");
g1.chata.focus();
return false;
}
return true;
}
vidíte někdo chybu,díky! |
||
| Trejpa Profil |
#8 · Zasláno: 22. 12. 2009, 11:39:15
lukasb:
Předpokládám, že ti vadí, že tvůj skript vždy vrátí true (formulář se provede). function zkontroluj_formular()
{
if (g1.chata.value=="") {
alert("zaškrtněte objekt, prosím!");
g1.chata.focus();
return false;
}
else { return true; };
} |
||
| lukasb Profil |
#9 · Zasláno: 22. 12. 2009, 12:06:32
trejpa:
tak jsem zkoušel ten tvůj skript a dělá to totéž. převede to do dalšího suboru bez povšimnutí. žádné oštření vyjjímky to neudělá :-( |
||
| dan55 Profil |
#10 · Zasláno: 22. 12. 2009, 14:03:53
function zkontroluj_formular()
{
if (g1.chata.value=="") {
alert("Zaškrtněte objekt, prosím!");
g1.chata.focus();
return false;
}
else {return true;}
} na řádku 8 byll na konci středník |
||
| Trejpa Profil |
#11 · Zasláno: 22. 12. 2009, 14:19:29
dan55:
„na řádku 8 byll na konci středník“ Ten ničemu nevadí. Problém je v podmínce. |
||
| lukasb Profil |
#12 · Zasláno: 22. 12. 2009, 16:04:47 · Upravil/a: lukasb
Trejba:
a když nevadí středník, tak kde je tedy chyba??prosím tě, mohl by si mi opatrvit tu podmínku,díky! tak jsem to opravil a relativně mi to funguje. ale když mi vyskočí hláška, tak dám OK a ono mi to skočí na ten soubor, kam to má odeslat,což není ideální :-(. vidíte někdo chybu? function zkontroluj_formular()
{
var df=document.g1;
if (!df.chata[0].checked && !df.chata[1].checked && !df.chata[2].checked)
{
alert("Musíte zaškrknout alespoň jednu položku .");
g1.chata.focus();
return false;
}
return true;
} |
||
|
Časová prodleva: 7 dní
|
|||
| Molda Profil * |
#13 · Zasláno: 29. 12. 2009, 21:42:34
přejmenuj si ty radia na chata1 ,chata2 ,chata3 a tohle by melo fungovat
function zkontroluj_formular()
{
if (!document.g1.chata1.checked && !document.g1.chata2.checked && !document.g1.chata3.checked)
{
alert("Musíte zaškrknout alespoň jednu položku .");
return false
}
else
{
return true
}
}
|
||
| Molda Profil * |
#14 · Zasláno: 29. 12. 2009, 22:02:01
chybu způsobuje g1.chata.focus(); protože maš ty radia pojmenovaný stejně vlastně to stačí změnit na document.g1.chata1.focus() a pokud se bude pouze jedno radio jmenovat chata1 tak to půjde
|
||
| davis Profil * |
#15 · Zasláno: 31. 12. 2009, 15:58:24
Molda:
ano chyba je v g1.chata.focus(); ale jakmile prejmenuje jeden radio button, prestane dobre fungovat skupina radio buttonu:( |
||
| davis Profil * |
#16 · Zasláno: 31. 12. 2009, 16:24:30
Řešená je: g1.chata[0].focus(); či [1],[2] podle toho na který radio chceš aby to ukázalo.
|
||
|
Časová prodleva: 16 let
|
|||
0