채택완료

ifram말고 ajax를 사용하고싶습니다~

Copy
<section id="section05">

    <form class="row" action="<?php echo G5_THEME_URL ?>/html/_email.php" method="post" role="form" class="s5_info_form" target="send">

 

          <div class="s5_info_rightbox">

              <div class="row">

                <div class="form-element">

                  <input type="text" name="name" class="form-input" id="name" placeholder="Name">

                </div>

                <div class="form-element">

                  <input type="email" class="form-input" name="email" id="email" placeholder="E-Mail">

                </div>

                <div class="form-element">

                  <input type="tel" class="form-input" name="tel" id="tel" placeholder="Phone Number">

                </div>

                <div class="form-element">

                  <input type="text" class="form-input" name="subject" placeholder="Subject" id="subject"> 

                </div>

                <div class="form-element">

                  <textarea name="message" id="message" cols="30" rows="30" placeholder="Comments" class="form-textarea"></textarea>

                </div>

              </div>

          </div>

        </div>

      </div>

      <div class="col-md-6">

        <div class="contact-right-area">

          <button type="submit" class="send">SEND MESSAGE</button>

            <!-- iframe 설정 -->

            

            <iframe id="if" name="send" style="display:none"></iframe>

        </div>

      </div>

    </form>

</section>

 

이렇게 코드를 짯습니다..

 

iframe의 원리도 잘은 모릅니다... 그냥 form의 action페이지가 열리지않고 실행이된다 정도?

 

다만 제가 짠 코드에서는 아무것도 입력을안해도 메일전송이됩니다..

 

ajax를 이용하면 form action이 작동되기전에 스크립트를 적용시킬수있다는데

 

검색을 해봐도 잘 모르겠네요 ㅠㅠ

 

강의를 들어도.. 이렇게 form 액션을 바로 하는법이 나오지도않고 ㅠㅠ 간단한거같은데 안되니까 너무답답하네요

 

이메일 보내기 php는 아래에 남기겠습니다.

 

Copy
<?php

 error_reporting(E_ALL);

 ini_set("display_errors", 1);

 

$charset = 'UTF-8'; //문자셋

$to = "sogeum9300@daum.net"; //개발자의 이메일 주소

$name = $_POST['name']; // 보낸이 이름

$name = str_replace("'","''",$name);

$Email= $_POST['email']; //보낸 이 이메일주소

 

$title =$_POST['subject']; 

$title = str_replace("'","''",$subject);

 

$subject = '=?UTF-8?B?'.base64_encode( "소금 상담메일이 접수되었습니다." ).'?=';

$tel=$_POST['tel'];

$tel= str_replace("'","''",$tel);

$headers="From :".$Email."\r\n"; //  ( 보내는 이 )

 

$message=" 제목: ".$title."\n 작성자: ".$name."\n 전화번호: ".$tel."\n 내용: ".$_POST['message']."\n 보내는 이: ".$Email."\r\n"; //내용

$message = str_replace("'","''",$message);


 

mail($to, $subject , $message);

 


 

 

 ?>



 

<script>

alert ("견적상담 접수가 완료되었습니다.\n빠른 시간 내에 확인 후 \n연락드리겠습니다. 감사합니다.");

 

</script>
|

답변 1개

채택된 답변
+20 포인트
<form name="form1" class="row" method="post" role="form" class="s5_info_form" target="send">

.. 중량

<button type="submit" class="send">SEND MESSAGE</button>

 

function test() { 
 var param = $("form[name=form1]").serialize();

 $.ajax({  
   type: "POST" 
  ,url: "<?php echo G5_THEME_URL ?>/html/_email.php"
  ,data: $("#form").serialize(),

  ,success:function(data){
    alert("성공");
  }
  ,error:function(data){
    alert("error");
  }
  });

}

 

$('.send').click(function(){

   test();

});

답변을 작성하려면 로그인이 필요합니다.