Autor Zpráva
vojtan
Profil
Zdravím, potřebuji poradit, mám na stránce dva formuláře, které potřebuji odeslat přes ajax jedním tlačítkem, ale vždy se odešle jenom ten první. Tady je kód, v čem dělám chybu? děkuji za pomoc

<form id="form1">
 Jméno: <input type="input" name="jmeno" id="jmeno" value="<?php echo $jmeno;?>"/>
 Příjmení: <input type="input" name="prijmeni" id="prijmeni" value="<?php echo $prijmeni;?>"/>
 <input type="hidden" name="idn" id="idn" value="<?php echo $idn;?>"/>
 <input type="button" name="odeslat" id="odeslat" value="Vložit" />
</form>

<form id="form2">
 Popis: <textarea name="popis" id="popis" cols="45" rows="5"><?php echo $popis;?></textarea>
 <input type="hidden" name="idn" id="idn" value="<?php echo $idn;?>"/>
</form>

<script type="text/javascript">
$(document).ready(function () {

    $("#odeslat").click(function () {

    $.ajax({
           type: "POST",
           url: 'ajax/vlozit.php',
           data: $("#form1").serialize(), 
           success: function(data)
           {
               alert(data); 
           }
         });
        
        $.ajax({
           
           type: "POST",
           url: 'ajax/vlozit-popis.php',
           data: $("#form2").serialize(),
           success: function(data)
           {
               alert(data);
           }
            });
        
    });
});
</script>

Tady ještě PHP skript vlozit.php
<?php
require "../includes/connect.php";
$idn = $_POST["idn"];
$jmeno = $_POST["jmeno"];
$prijmeni = $_POST["jmeno"];

$dotaz = mysql_query("UPDATE nabidky SET jmeno = '$jmeno', prijmeni = '$prijmeni' WHERE id = '$idn' ");
?>

vlozit-popis.php
<?php
require "../includes/connect.php";
$idn = $_POST["idn"];
$popis = $_POST["popis"];

$dotaz = mysql_query("UPDATE nabidky SET popis = '$popis' WHERE id = '$idn' ");
?>



Teď jsem zjistil, že problém je s textarea, když ji nahradím input boxem, tak mi to hodnotu vypíše, ale v textboxu ne, vůbec nevím proč :/
_es
Profil
vojtan:
Máš to v „normálnych“ formulároch, ich normálny spôsob odoslania nie je nijako zrušený, no pritom chceš dáta odosielať inak - zjavná kolízia ohľadom spôsobu odoslania.
Chamurappi
Profil
Reaguji na _es:
Což neodpovídá na otázku, proč skript funguje špatně.


Reaguji na vojtana:
Živou ukázku nemáš? Nemůže být problém v tom, co s daty děláš? Nějaké neošetřené apostrofy v SQL dotazu, nebo tak něco?
vojtan
Profil
Chamurappi:
Děkuji, už jsem přišel na chybu. Klasické value u textarea ve které je spuštěný ckeditor vrací výchozí hodnotu (tedy prázdné pole), ne aktuální vepsanou. Vyřešil jsem to funkcí CKEDITOR.instances.textnabidky.getData();
_es
Profil
Chamurappi:
Což neodpovídá na otázku, proč skript funguje špatně.
Minimálne čiastočne odpovedá, formuláre môžu byť v niektorých prípadoch odoslané aj „normálne“.
vojtan
Profil
akorát CKEDITOR mi do promění nenačte české znaky, respektive usekne se to před prvním českým znakem :/

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: