Autor Zpráva
shakal
Profil *
Ahoj, potřeboval bych poradit jak na javascript.
Prvně jsem vůbec nevěděl, jak se to dělá, čím se to dělá a někde jsem se dočetl o javascript:toggle. Přesné vysvětlení jsem nenašel.
Co potřebuju?
Budu mít nějaký odkaz a když na něj kliknu, tak aby se pod ním vysunul/zasunul formulář.
Máte nějaké návody?

Moderátor Chamurappi: Titulek „JavaScript - dotaz“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
imploder
Profil
shakal
Jde to jednoduše změnou atributu display v CSS.

ukázka
shakal
Profil *
A odkaz na nějakou nápovědu? :(
shakal
Profil *
Omlouvám se nevšimnul jsem si té ukázky, a prosimtě, jak udělám aby při načtení stránky byl prvně schovaný formulář a až po kliknutí se zobrazil? :)
imploder
Profil
shakal
jak udělám aby při načtení stránky byl prvně schovaný formulář a až po kliknutí se zobrazil?
verze s na začátku schovaným formulářem

Kromě nastavení v CSS, aby byl formulář schovaný, je tam upravené i v javascriptu rozhodování, kdy schovat a kdy vysunout. Přistupování k CSS vlastnostem v javascriptu má totiž jednu zákeřnost: co je nastavené pomocí stylů, není vidět (vlastnost má hodnotu undefined); vidět jsou jenom hodnoty nastavené javascriptem. Proto to prohození.
KGW
Profil
Třeba ti pomůže tohle: http://www.karelgott.net/kontakty/
shakal
Profil *
Aha super. A ještě dotaz. Když to vložím na stránku http://ocni-klam.kx.cz/ tak se mi formulář nechce odeslat. To co vyplním se mi ukáže v odkazovém řádku (www.xxxxxx.cz).
Radek9
Profil
shakal:
A co třeba vyplnit action a method?
shakal
Profil *
<form name="book" action="book_write.php" method="post">
imploder
Profil
shakal
Máš svůj formulář vložený do jiného, zkopírovaného z mojí ukázky. Formuláře se nemají vnořovat do sebe.

Nech tam jen ten svůj, jenom mu dej id="formular".
shakal
Profil *
Aha, jsem slepej, omlouvám se a mnohokrát dík ;)
Taps
Profil
shakal
určitě se nesmí zapomenout ani na jquery viz http://jqueryui.com/demos/toggle/
shakal
Profil *
Ještě mám problém.. ZKopírovaný JavaScript na zkontrolování, jestli jsou poviné údaje vyplněny nějak nefunguje. Může na něj někdo kouknout?



<script type="text/javascript" language="JavaScript">

function book_test()
{
var f = self.document.forms.book;
if (f.name.value.length <= 0)
{
alert("Chybí jméno!");
return false;
}
if (f.message.value.length <= 0)
{
alert("Chybí zpráva
!");
return false;
}
return true;
}

</script>
<form name="book" action="book_write.php" method="post" onsubmit="return book_test();">
<b>Jméno:</b><br>
<input name="name" size="40"><br>
<br>
<b>Mail:</b><br>
<input name="mail" size="40"><br>
<br>
<b>Zpráva:</b><br>
<textarea name="message" rows="5" cols="30"></textarea><br>
<br>
<input type="submit" value="Odeslat zprávu">
</form>
zvěřiňák
Profil
shakal
Ve tvém skriptu je jenom drobná chybička.
<script type="text/javascript" language="JavaScript">

function book_test()
{
var f = self.document.forms.book;
if (f.name.value.length <= 0)
{
alert("Chybí jméno!");
return false;
}
if (f.message.value.length <= 0)
{
alert("Chybí zpráva
!");
return false;
}
return true;
}

</script> 

Ten alert musí být na jednom řádku.
alert("Chybí zpráva!");
shakal
Profil *
Když to udělám tak, jak si radil tak při odeslání mi to tu chybu vyhodi když jsou vyplněny obě políčka
zvěřiňák
Profil
Mně to chodí dobře. Když vyplním obě políčka, tak to žádnou chybu nevyhodí a normálně se odešle.
shakal
Profil *
Ano, udělal jsme kravinu. Díky mockrát. Pitomý odřádkování zničí celej script. Achjo. Ještě jednou díky.
Akali
Profil
<style type="text/css">
#formular { 
height: 300px;  /* (jen formulář obarvíme a zvýšíme, aby byl vidět výsledek) */
display: none;
} 
</style>

<script type="text/javascript">
function prepni_zobrazeni() {
  prvek = document.getElementById('formular');  // vybereme si ze stránky formulář
  if(prvek.style.display != 'block') prvek.style.display = 'block';  // není vysunutý -> vysuň ho
  else prvek.style.display = 'none';  // jinak ho zasuň
}
</script>
</head>
</style>
<body>
<input type="button" value="Klikněte pro přidání vzkazu" onclick="prepni_zobrazeni()">

<html>
<form id="formular" name="book" action="diskuse_presmerovani.php" method="post" onsubmit="return book_test();">
Jméno: <!---(nejaky muj php Kód) ---> <br>
<form name="book" action="" method="post">
<textarea name="message" rows="5" cols="35"></textarea>


Tady potřebuji ještě jednou zobrazeni/zasunuti textu (budou tu vloženi smalici)..

Ale nejak mi to nejde dat dohromady. Čili po vysunuti (Klikněte pro přidání vzkazu) se objevi ten formular pro odeslani zpravy a pod tim aby se zobrazil/zasunul jeste jeden text.. Prosím o pomoc děkuji.

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: