Autor Zpráva
BMWdejf
Profil *
Zdravím všechny tady na forum.
Měl bych na vás prosbu týkající se odeslání jednoduchécho formuláře pomocí AJAXu.
Formulář vypadá takto:
<div id="add_mail">
<input type="text" id="mail_address" value="Pro více informací vložte email" /><span id="submit_link">Vožit</span>
</div>

Script pro odesílání vypadá takto:
$("#mail_address").val("Zpracovávám...");
$.ajax({ type: 'POST', url: send.php, data: 'email=' + email, success: function(ajaxCevap){ $("#mail_address").val( ajaxCevap ); } });

a pak mám ještě v PHP napsán jednoduchý kod pro odesílání:
<?php
$mail = $_POST['mail_address'];
$from = "tento email je od " . $mail;
$predmet = $from;
$text = " ";

$prijemce = "jmeno@server.com";
$zahlavi = "From: " . $mail . "\r\n" . $from . "\r\n";
if ( !empty($mail)) {
mail($prijemce, $predmet, $text, $zahlavi);
echo "<h3>Děkujeme. Váš email byl úspěšně odeslán.</h3>";

} else {
echo "<h3>Nevyplnili jste všechna pole. Mail nebyl odeslán.</h3>";
}
?>

Hlavně si nevím rady s nastavením $.ajax (hlavně nevím co je to "ajaxCevap").
Tak kdyby mi mohl někdo poradit nebo poslat link na funční příklad jak odeslat jednoduchý formulář pomocí AJAXu tak bych byl velice rád.

Díky

David
Darker
Profil
Zkus namísto $.ajax použít lineárnější $.post.
$.post(
                    "send.php",
                   {email:$("#mail_address").val()},
                   function(ajaxCevap){ $("#mail_address").val( ajaxCevap ); }
    )
BMWdejf
Profil *
Tak to bohužel nefunguje. :( Projistotu zasílám celý kod v souboru jestli jsem něco neudělal špatně nebo jestli tam ještě něco nechybí.

Díky

David
$(document).ready(function(){
	
	$("#mail_address").focus( function(){ 
		if( ( $(this).val() == "Pro více informací vložte email" ) || ( $(this).val() == "Vložily jste neplatný email!" ) || ( $(this).val() == "Database Error" ) ){	$(this).val(""); }  } );
	
//	$('li').mouseover(function(){ $(this).animate( { marginTop: '+=5px' },300); });
//	$('li').mouseout(function()	{ $(this).animate( { marginTop: '-=5px' },300);	});
	
	$('#submit_link').click(function()
	{ 
		email = $("#mail_address").val();
		if(!check_mail(email)){	$("#mail_address").val("Vložily jste neplatný email!"); }
		else
		{
			$("#mail_address").val("Zpracovávám...");
//			$.ajax({ type: 'POST', url: send.php, data: 'email=' + email, success: function(ajaxCevap){ $("#mail_address").val( ajaxCevap ); } });
			$.post("send.php", {email:$("#mail_address").val()}, function (ajaxCevap) {$("mail_address").val(ajaxCevap);} )
		}
	});
	
	$(function () {
		var austDay = new Date();
		austDay = new Date(year, month - 1, day, hour, minutes, seconds );
		$('#count_down').countdown({until: austDay});
	});
});

var email = " ";
var toggle_value = "open_about";
var koordinat_x;
var koordinat_y;

function check_mail( email ){ return (email.indexOf(".") > 2) && (email.indexOf("@") > 0); }

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