2014-02-15 119 views
0

我知道這已經被問了很多,我在論壇上搜索並測試了幾個答案。 但這似乎無法工作,但看起來相當容易解決。我正在嘗試發佈簡單的聯繫表單,並在驗證/發送後返回失敗/成功值。

但是這個響應變量不起作用! 在此先感謝。

$(document).ready(function(){ 
    $('#contact-send').click(function() { 
     $.post("http://talaguim.com/contato-send.php", $("#mycontactform").serialize(), function(response) { 
      if (response == "ok") { 
       mensagem = "Sua mensagem foi enviada."; 
       type(mensagem); 
      } else { 
       mensagem = "Ops, o e-mail é inválido, verifique de novo."; 
       type(mensagem); 
      } 
     }); 
     return false; 
    }); 
}); 

我的HTML是:

<form action="" method="POST" id="mycontactform"> 
     <div id="contact-form"> 
      <textarea id="contact-text" name="message"></textarea> 
      <div class="contact-linhabaixo"> 
       <input type="text" class="contact-input" name="name" id="name" value="Nome"><input type="text" class="contact-input" name="email" id="email" value="E-mail"><input type="submit" class="contact-btn" id="contact-send" value="Enviar"> 
      </div> 
     </div> 
    </form> 
+0

當我的URL,它返回'nein'。這是由於一些條件邏輯? –

+0

它返回nein,因爲字段驗證正在檢查電子郵件字段而沒有發現任何內容。 'Nein'的意思是沒有在德國:)。 當電子郵件字段正確時,返回'ok'。 – user3314599

回答

0

可以添加一個alert()console.log,看看什麼是在響應返回?它可能是一個對象而不是字符串,或者它可能有空白區域,您也可以嘗試.trim()

你也可以嘗試加入誤差函數您的來電:

$(document).ready(function(){ 
     $('#contact-send').click(function() { 
      $.post("http://talaguim.com/contato-send.php", $("#mycontactform").serialize(), function(response) { 
       if (response == "ok") { 
        mensagem = "Sua mensagem foi enviada."; 
        type(mensagem); 
       } else { 
        mensagem = "Ops, o e-mail é inválido, verifique de novo."; 
        type(mensagem); 
       } 
      }).fail(function(msg) { 
       alert(msg.status + " " + msg.statusText); 
      }); 
     return false; 
    }); 
}); 
+0

不完全是答案嗎?屬於imo的評論。 –

+0

我以前試過一個警報,它根本沒有出現任何東西。 但是,通過您提供的這些代碼,會出現一個帶有「0錯誤」的警報。 它可能是什麼? – user3314599

+0

你可能需要發佈你的php來檢查它在語法上是否正確,或者檢查你發佈的數據是否是php所期望的。您也可能會遇到同源策略,或者擁有php的站點沒有啓動。 – Popo