Autor Zpráva
kincakivca
Profil
Dobrý den.
Chci si udělat jednoduchý chat ale pokaždé když odešlu formulář se mi zaktualizuje stránka i přez to že používám tohle :
j(document).ready(function() {
            j('#post_button').click(function() {
                $text = $('#post_text').val();
                j.ajax({
                    type: "POST",
                    cache: false,
                    url: "save.php",
                    data: "text="+$text,
                    success: function(data) {
                        alert('Zpráva odeslána');
                    }
                });
            });
        });
   j('.refresh').css({color:"green"});
});
Nevíte někdo co stím?
_es
Profil
kincakivca:
pokaždé když odešlu formulář
Aký formulár? V kóde v [#1] nijaký formulár nie je.

co stím?
Ak nechceš, aby sa odosielal nejaký formulár do celého okna, tak tam žiaden formulár nedávaj.
xROAL
Profil
j('#post_button').click(function(e) {
                e.preventDefault();
                $text = $('#post_text').val();
// zvyšok kódu
preventDefault() zabráni vykonaniu defaultnej činnosti (teda klasické odoslanie formuláru v tomto prípade).

Nebolo by vhodnejšie použiť udalosť onSubmit?
kincakivca
Profil
    j(document).ready(function() {
j('#post_button').click(function(e) {
                e.preventDefault();
                $text = $('#post_text').val();
                j.ajax({
                    type: "POST",
                    cache: false,
                    url: "save.php",
                    data: "text="+$text,
                    success: function(data) {
                        alert('Zpráva odeslána');
                    }
                });
            });
        });
   j('.refresh').css({color:"green"});
});

Takhle se mi nerefresne ale ani se neodesle.
Taps
Profil
kincakivca:
pro inspiraci http://brian.staruk.me/php/2013/sample-jquery-php-ajax-script/
Micruss
Profil
a nemělo by být $text = $('#post_text').val(); spíš var text = $('#post_text').val();
+ ještě u data: "text="+$text, dát toto data: "text=" + text,
kincakivca
Profil
Mě se ten formulář neodesílá ani tak.
_es
Profil
[#7] kincakivca
Aký formulár? Na čo tam dávaš nejaký formulár? Čo ti boli naposlady poradené nejaké odkazy ( Php chat s mysql), máš v článkoch z nich nejaké formuláre?
kincakivca
Profil
Chci si udělat chat.
Mám ale problém s odesíláním formuláže.
<script type="text/javascript">

$(document).ready(function(){
   var j = jQuery.noConflict();
    j(document).ready(function()
    {
        j(".refresh").everyTime(1000,function(i){
            j.ajax({
              url: "refresh.php",
              cache: false,
              success: function(html){
                j(".refresh").html(html);
              }
            })
        })
        
    });
    j(document).ready(function() {
            j('#post_button').click(function() {
                $text = $('#post_text').val();
                j.ajax({
                    type: "POST",
                    cache: false,
                    url: "save.php",
                    data: "text="+$text,
                    success: function(data) {
                        alert('data has been stored to database');
                    }
                });
            });
        });
   j('.refresh').css({color:"green"});
});
</script>
<form method="POST" name="" action="">
<input name="sender" type="text" id="texta" value="<?php echo $sender ?>"/>
<input name="message" type="text" id="textb"/>
<input name="submit" type="submit" value="Odeslat" id="post_button" />
</form>
Takhle vypadá kod co jsem někde našel ale nefunguje protože když kliknu odeslat tak se zaktualizuje stránka.
_es
Profil
kincakivca:
Mám ale problém s odesíláním formuláže.
Máš ten problém, že sa ti ten formulár normálne odošle, lebo si ho tam dal, viď ako fungujú formuláre: Formuláře » form. Ak chceš odosielať a prijímať dáta AJAXom, tak tam formulár nepotrebuješ.

Takhle vypadá kod co jsem někde našel
Tak si „niekde“ nájdi nejaký iný, alebo si radšej namiesto slepého kopírovanie kódov aj sám niečo viac naštuduj.
Fisir
Profil
Reaguji na kincakivcu:
Zkus formu přidat atribut onsubmit="return false;".
_es
Profil
Fisir:
Aký má zmysel tam dávať niečo, čo je následne znefunkčnené?
Fisir
Profil
Reaguji na _esa:
Žádný, mně to vysvětlovat nemusíš. Ale jak jsi si všiml, snaží se celý chat vytvořit poslepováním různých kódů, takže tohle je další do sbírky.

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: