Autor Zpráva
Jack06
Profil
Dobrý den, chtěl jsem se zeptat. Budu odesílat formulář :
Jméno, Text

A chtěl bych to pomocí Jquery. Jde mi o to jak to napsat, aby když třeba zadá špatné jméno tak v php souboru, který přez ajax bude provádět mohu udělat výstup:

print "Uživatel XXX neexistuje"; exit;

V tom případě by pole zůstala vyplněná, aby mohl jen zmenit nick, a enbo druhý případ:

print "Zpráva byla úspěšně odeslána."; exit;

Pak aby se pole smazali.

Nevím jak toho pomocí jquery dosáhnnout. děkuji za pomoc. Formulář by vapadat cca takto:
<form id="vzkaz" method="post">
<input type="text" name="komu">
<textarea name="text">Pište text</textarea>
<input type="submit" name="submit" value="odeslat">
</form>
Kalby
Profil
no submitu das aby po kliknuti zavolal funkci ktera bude vypadat nejak takhle
$("submit").click(function () {

$.ajax({
type: "POST",
url: "nazev tvyho souboru.php",
data: "komu=tady vyber z inputu text komy,
success: function(msg){
$("div#zprava").text( "Odeslana");
}
});

});


neni to uplne dotazeny ale tudy muze vest cesta... podivej se na ajaxovy funkce jquery http://docs.jquery.com/Ajax
Jack06
Profil
Kalby
Jde o to že já budu mít výstup:
1 - vše proběhlo v pořádku vzakz se odeslal
2 - nick neexistuje zpráva se neodeslala

když jednička tak se všechny pole hodí defaultvalue
když dvojka pole zůstanou vyplněný aby si je mohl je změnit
blaaablaaa
Profil
JS:
$.post("xxx.php", {
   data : 'k_odeslani'
}, function(data){
   alert(data.text);
   if ( data.ret == 1 ) {
     //vymaz inputy 
   }
}, 'json');


PHP:
$return = array();
if ( ) {
   $return["ret"] = 1;
   $return["text"] = "OK, odeslano";
} else {
   $return["ret"] = 0;
   $return["text"] = "Chyba";
}
echo json_encode($return);
Jack06
Profil
Zkoušel jsem toto: a nevím proč, ale nejde mi to :-(
:

js:
     print "
     <script type=\"text/JavaScript\">    
     $(document).ready(function(){   
     $(\"form#mes_form\").submit(function(){   
       $.post(\"sp-message.php\",{   
             message: $(\"#msg_inp\").val(),   
             u_to: $(\"#msg_tou\").val(),   
             action: \"post_msg\",   
           }, function(data) {
             alert(data.message);
             if ( data.ret == 1 ) {
             alert(data.text); 
             }  
       }, 'json');   
     });   
   });  
   </script>
   ";


a php:
                                      if(@$action == "post_msg")
                                      {
                                      foreach($_POST as $key => $value)
                                             {
                                             $$key = $db->real_escape_string($value);
                                             }
                                      echo json_encode($message);
                                      }


A vůbec mi to nereaguje na stusknutí submitu ve formuláři:
                                     print "<form id=\"mes_form\">";
                                          print "<table id=\"messanger\" cellpadding=\"0\" cellspacing=\"0\">";
                                          print "<tr><td>Komu:</td><td class=\"i-left\"><input type=\"text\" id=\"msg_tou\" class=\"input\"></td></tr>";
                                          print "<tr><td colspan=\"2\"><textarea id=\"msg_inp\" cols=\"50\" rows=\"10\"></textarea></td></tr>";
                                          print "<tr><td><input type=\"submit\" name=\"create_new\" value=\"Odeslat\" id=\"submit\"></td><td></td></tr>";
                                          print "</table>";                                        
                                          print "</form>";
blaaablaaa
Profil
if(isset($_POST["action"]) && $_POST["action"] == "post_msg") {
foreach($_POST as $key => $value) {
  $$key = $db->real_escape_string($value);
}
echo json_encode(array("message" => $message));
}

kdzytak se podivej, co ti vraci v "data" (na chvilku vypni json)
Jack06
Profil
blaaablaaa
Tak díky vyřešeno já jsem měl ještě podmínku na input name submit takže proto to nešlo :-) 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: