2012-12-22 2 views
3

Google 등을 통해 살펴 보았지만 동료 회원에게 약간의 도움을 요청한 후에는 찾을 수 없습니다.클래식 ASP - Ajax를 사용하여 새로 고침없이 문의 양식을 제출하십시오.

내 양식에 내 페이지에 포함되어 있으며 사이트 전체에서 일관됩니다. Classic ASP의 일반 경로 인 페이지 새로 고침없이 문의 양식을 제출하고 싶습니다.

메일 스크립트가 포함 된 별도의 ASP 페이지가 있는데 제대로 작동하고 전자 메일을 보냅니다. 그러나 Ajax를 사용하여 해당 페이지를 호출하고 전자 메일을 보낸 다음 해당 사용자에게 전자 메일을 보냈 음을 알립니다.

어떤 도움

주시면 감사하겠습니다.

답변

7

기존의 ASP, ASP.NET, PHP 또는 기타 dynamc 언어는 실제로 수행중인 내용과 동일하며 양식 게시 ing이며 그 자체는 ASP가 아니라 HTML입니다.

당신이

$(function() { 

    $("#frm-send").submit(function() { 
     var data = $(this).serialize(), 
      action = $(this).attr("action"), 
      method = $(this).attr("method"); 

     $(".loading").show(); // show loading div 
     $.ajax({ 
     url: action, 
     type: method, 
     data: data, 
     success: function(data) { 
      // all went well... 
     }, 
     error: function(err) { 
      // there was something not right... 
     }, 
     complete: function() { 
      $(".loading").hide(); // hide the loading 
     } 
     }); 

     return false; // don't let the form be submitted 
    }); 

}); 

로 페이지에 작은 jQuery를 추가

<form id="frm-submit" action="/SendEmail.asp" action="POST"> 

    ... 

    <input type="submit" value="Submit form" /> 
</form> 

같은 형태가 있고 갈 준비가 있다고 가정. 당신의 sendMail.asp 페이지


, 모든 것을 당신이 당신이 가지고있는 이메일 전송 후, 그래서 success 방법의 data 변수에있을 것입니다 Response.Write에 보내 자바 스크립트 부분에

Response.Write("done") 
Responde.Flush() 
Response.End() 

을, 당신 다음과 같이 처리 할 수 ​​있습니다.

success(data) { 
    if(data === "done") 
    { 
     // Super duper! let's show the user a Thank you for submit page 
     document.location = "/ThankYou.asp"; 
    } 
} 
+0

JQuery가 완벽합니다. 감사합니다. 그러나 "성공"부분이 왜 리디렉션을했는지 알 수 없지만 연락처 양식을 다른 메시지로 바꾸는 방법이 있습니까? "문의 해 주셔서 감사합니다. 곧 연락 드리겠습니다." –

+0

나는 그것을 알아 냈다. 나는 이것을 jQuery에 두었다 : $ ('# form-contact-sidebar'). hide(); \t $ ('# submit-result'). show(); –

+0

답변으로 표시했습니다. 대단히 감사합니다 @ balexandre –

관련 문제