PHP ve jQuery form eklentisi kullanarak İletişim formu

2 Cevap php

AJAX istekleri göndermek için jQuery Form eklentisi kullanıyorum. Bu PHP komut dosyası kullanarak basit bir iletişim var: http://pastie.org/725652 - sadece doğrulama PHP içinde olur.

Burada her şeyi tetikleyecek benim Javascript kodu bulunuyor:

$('#contactform').ajaxForm({
    target: '#error',
    beforeSubmit: function() {
        $('#error').append('<p class="loading">Sending your message...</p>');
    },
   success: function() {
       $('#error p.loading').fadeOut();
       $('#error').fadeIn('slow');
    }
});

Ne yazık ki, çalışmak için görünmüyor. PHP, mükemmel çalışıyor e-posta gönderir ve başarı mesajı verir, ancak AJAX sihirli nedense çalışmıyor. Açıkçası ne elde etmek istiyorum, <div id="error /> olarak AJAX PHP komut dosyası tarafından döndürülen mesajı görüntülemek için

Çalışmıyor neden aynı komut dosyası birçok kez kullanılmış ve onunla herhangi bir sorun yoktu, şimdi ben çözemiyorum. Burada iletişim formu için biçimlendirme bulunuyor.

<form id="contactform" class="group" method="post" action="submitemail.php">
    <fieldset>
        <div><label for="first-name">First Name</label>
        <input type="text" name="first-name" value="Jeremy" /></div>

        <div class="alt"><label for="last-name">Last Name</label>
        <input type="text" name="last-name" value="Anderson" /></div>

        <div><label for="email">E-mail <span>(never published)</span></label>
        <input type="text" name="email" value="jeremyanderson@mywebsite.com" /></div>

        <div class="alt"><label for="url">Website</label>
        <input type="text" name="url" value="http://www.mywebsite.com" /></div>

        <label for="question">Message</label>
        <textarea name="question" id="" cols="30" rows="10">Thinking of something to say...</textarea>

        <input type="submit" name="submit" id="submit" value="Send E-mail" />
        <div id="error"></div>
    </fieldset>
</form>

Herhangi bir yardım olabilir eğer burada jQuery eklentisi kod. http://pastie.org/726175

Herkes her şeyi bakmak ve neden işe yaramaz bazı ipuçları verebilir, ben, şimdiden teşekkürler çok minnettar olacaktır!

2 Cevap

Eğer PHP tepki olduğu parametreleri içermelidir:

EDIT:

Bu örnekte ben cevap mesajı ile mesaj "yükleme" ayırıyorum, bu değişiklikler ile deneyin.

HTML:

<form id="contactform" class="group" method="post" action="submitemail.php">
    <fieldset>
        <!-- fields -->

        <input type="submit" name="submit" id="submit" value="Send E-mail" />
        <div id="error"><span id="eloading"></span><span id="eresponse"></span></div>
    </fieldset>
</form>

Javascript:

$('#contactform').ajaxForm({
    target: '#eresponse',
    beforeSubmit: function() {
    	$('#eresponse').hide('slow');
    	$("#eloading").append("<p class=\"loading\">Sending your message...</p>");
    },
    success: function(responseText, statusText) {

    	alert("test status: " + statusText + "\n\nresponseText: \n" + responseText);
    	$("#eloading").empty();
    	$('#eresponse').show('slow');
    }
});

It didn't do the trick :( It still goes to the submitemail.php file with the success message instead of showing the message in #error. – Justine 39 mins ago

Bu durumda eğer teslim olaya bağlı fonksiyon ile bitmiyor demektir

return false;

ben bu bir hata yere kodu var demektir bu yüzden bu automagically yapılır ajaxForm ile inanıyorum. Kundakçı yüklü olması gerekmektedir, yüklemek ve emin olun konsolda bir göz tutmak:

  1. jQuery ok yükleniyor
  2. there are no errrors setting up the ajax interaction or in any other js on the page that may stop it