Autor Zpráva
Fisak
Profil
Dobrý den. Mám problém který řeším už delší dobu. Chci odeslat nějaký údaj pomocí ajaxového buttonu bez nutnosti refreshe celé stránky. Bohužel se mi tomu tak nedaří a nevím čím to může být.

index
<script type="text/javascript" >
$(function() {
$(".subChatNahoru").click(function() {

var dataStringNahoru = 'text_nahoru=hodnota';

$.ajax({
type: "POST",
url: "pohyb.php",
data: dataStringNahoru
});

return false;
});
});
</script>

<form method="post">

<input type="submit" name="nahoru" value="Nahoru" class="subChatNahoru"/>

</form>   

pohyb.php
<?php
    $heslo = "vertrigo";        
    $server = "localhost";
    $login = "root";
    $database = "system";

    if (MySQL_Connect($server, $login, $heslo) && MySQL_Select_DB($database))
    { 
  
   if(!empty($_POST['text_nahoru']))
   {
     mysql_query("update zkouska SET text = 'nahoru' where type = 'pohyb'");
   }     
  
  }
Someone
Profil
Fisak:
Když používáš formulář, tak odchytávej submit, je to lepší způsob, protože pro uživatele bez JS se nic nezmění a formulář se normálně odešle.

JS
<script>

    function updateDb() {

        $.ajax({
        type: "POST",
        url: "pohyb.php",
        data: 'text_nahoru=hodnota'
        });

        return false;

    }

</script>

HTML
<form method="post" onsubmit="return updateDb()">
    <input type="submit" name="nahoru" value="Nahoru" class="subChatNahoru"/>
</form>

PHP
<?php

$heslo  = "vertrigo";        
$server  = "localhost";
$login = "root";
$database = "system";
 
if (MySQL_Connect($server, $login, $heslo) && MySQL_Select_DB($database))
{ 
  
    if(!empty($_POST['text_nahoru']))
    {
        mysql_query("update zkouska SET text = 'nahoru' where type = 'pohyb'");
    }
 
}

?>
Fisak
Profil
Someone:
Tento Váš script mi bohužel nefunguje. A cílem tohoto scriptu bylo aby se mi něco změnilo v DB pomocí submitu bez nutnosti refreshe celé stránky.. což Váš script nedělá.
Fisak
Profil
Omlouvám se funguje to.. zapoměl jsem tam dát jquery. Nicméně chci tam dát více směrů... ovšem opět se mi to nedaří:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
 
    function updateDb(smer) {
    
        
        var dataString = 'pohyb='+ smer;
        
        $.ajax({
        type: "POST",
        url: "pohyb.php",
        data: dataString;
        
        });
 
        return false;
 
    }
 
</script>

<form method="post">
    <input type="submit" name="nahoru" value="Nahoru" onclick="return updateDb('nahoru')"/>
    <input type="submit" name="dolu" value="Dolu" onclick="return updateDb('dolu')"/>
    <input type="submit" name="doleva" value="Doleva" onclick="return updateDb('doleva')"/>
    <input type="submit" name="doprava" value="Doprava" onclick="return updateDb('doprava')"/>
</form>
PHP
<?php
 
$heslo  = "vertrigo";        
$server  = "localhost";
$login = "root";
$database = "system";
 
if (MySQL_Connect($server, $login, $heslo) && MySQL_Select_DB($database))
{ 
  
    if(!empty($_POST['pohyb']))
    {
        mysql_query("update zkouska SET text = '".$_POST['pohyb']."' where type = 'pohyb'");
    }
 
}
Chamurappi
Profil
Reaguji na Fisaka:
zapoměl jsem tam dát jquery
Proč 2.0?
Fisak
Profil
Chamurappi:
první co jsem našel :-) proč 2.0 ne ?
Chamurappi
Profil
Reaguji na Fisaka:
Protože ušetříš 9 % velikosti a ztratíš podporu Explorerů 6 až 8. To jsi nenašel?
Fisak
Profil
Chamurappi:
jakou verzi bych tedy měl používaT?
preca1
Profil
1.9.x
Fisak
Profil
koukal jsem že nejnovější 1.9.x je 1.9.2 bohužel mi můj script nefunguje s 1.9.2... tedy stačí jen přepsat <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> na <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.2/jquery.min.js"></script> že ?

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: