Autor Zpráva
fuyos
Profil *
Zdravím, mám kod

<script type="text/javascript">
$(document).ready(function() {
    $("#submit_btn").click(function() {       
        var proceed = true;       
        if(proceed) //everything looks good! proceed...
        {
            //get input field values data to be sent to server
            post_data = {
                'user_name'        : $('input[name=zprava]').val(), 
            };         
            //Ajax post data to server
            $.post('/modules/vlozit-zpravu.php', post_data, function(response){  
                if(response.type == 'error'){ //load json data from server and output message     
                    output = '<div class="hlaska_err">'+response.text+'</div>';
           $('#contact_results').delay(5000).fadeOut();
                }else{
                    output = '<div class="hlaska_ok">'+response.text+'</div>';
                    //reset values in all input fields                     
                    $("#contact_form  input[name=zprava], #contact_form textarea[required=true]").val(''); 
                }
                $("#contact_form #contact_results").hide().html(output).slideDown();
            }, 'json');
        }
    });
 
});
</script>

Skript funguje, po odeslání formuláře se zobrazí hláška zda-li to bylo úspěšné nebo neúspěšně, a teď bych potřeboval, aby ta hláška jakmile se zobrazí, aby byla vidět pouze 5 sekund a pak se skryla. Teďkon jak to mám tak to funguje přesně naopak, 5 sekund se nic neděje a za tich 5 sekund to vypíše hlášku. Můžete mi prosím pomoci s ajaxem jsem začátečník.
nightfish
Profil
Řádek 15 vymazat, řádek 21 změnit na:
$("#contact_form #contact_results").html(output).show().delay(5000).fadeOut();
fuyos
Profil *
Díky, funguje ještě bych měl takový dotaz, můj formulář vypadá

<div class="form-style" id="contact_form" name="add">
<div id="contact_results"></div>
<div id="contact_body">        
<table class='chat_zprava_tab'>
<tr><td><input type="text" name="zprava" id="text" placeholder='Vaše zpráva (max 500 znaků)' value='' maxlength='500' class='chat_zprava_input' autocomplete='off'></td>
<td><input type="submit" id="submit_btn" value="Přidat zprávu" class="tlacitko"></td></tr>
</table> 
</div>
</div>

neobsahuje tedy tag <form>, když ten tag tam přidám, script nefunguje, nevíte někdo proč popřípadě dá se to nějak udělat, aby to fungovalo o s tím tagem?
Kcko
Profil
Protože se Ti formlář odešle normální cestou.

$("#submit_btn").click(function()

Tohle bys měl nahradit za něco jako $("form").on("submit"), function(){

 // tvuj kod
});
fuyos
Profil *
Kcko:
to mi nefunguje, zkouším i nějako jako

<script type="text/javascript">
$(document).ready(function() { 
$("#form-chat").submit();
        var proceed = true;       
....
...
...
 
});
</script>

<form method="POST" id="form-chat">
<div class="form-style" id="contact_form" name="add">
<div id="contact_results"></div>
<div id="contact_body">        
<table class='chat_zprava_tab'>
<tr><td><input type="text" name="zprava" id="text" placeholder='Vaše zpráva (max 500 znaků)' value='' maxlength='500' class='chat_zprava_input' autocomplete='off'></td>
<td><input type="submit" id="submit_btn" value="Přidat zprávu" class="tlacitko"></td></tr>
</table> 
</div>
</div>
</form>

a to mi taky nefunuje, v čem dělám chybu?
Kcko
Profil
fuyos:
Funguje, zapomněl jsem vypnout odesílání .... e.preventDefault; mrkni se na ten odkaz.
fuyos
Profil *
Kcko:
už funguje, díky moc :)

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:

0