2010-11-04 4 views
1

Я абсолютно не javascript-гуру, поэтому это может быть очень простой вопрос.Javascript после отправки формы

Как заменить форму «спасибо!». Я имею в виду, что после того, как вы нажмете submit, я хочу, чтобы форму заменили на «Спасибо!». или «Произошла ошибка!»?

Заранее спасибо за помощь: D

EDIT:

Вот обработка. Он находится до

if(isset($_POST['sendmail'])) { 

    //Data from the form 
    $name = trim(strip_tags($_POST['name'])); 
    $email = trim(strip_tags($_POST['email'])); 
    $message = trim(strip_tags($_POST['message'])); 


    //Data set by the script 
    $subject = 'Mail fra '; 
    $subject .= $name; 
    $subject .= ' via lindegaardsign.dk'; 
    $to = '[email protected]'; 

    if(validate_email($email) && !empty($email) && !empty($message)) { 

     $headers = "From: $email\r\n"; 
     $headers .= "Content-type: text/html\r\n"; 

     //Send mail 
     if(mail($to , $subject , $message , $headers)) { 
      $message = '<div class="contactresponse">Tak for din henvendelse. Vi besvarer den hurtigst muligt.</div>'; 
     } else { 
      $message = '<div class="contactresponse">Der skete fejl ved afsendelsen af din henvendelse.</div>'; 
     } 
    } else { 
      $message = '<div class="contactresponse">Husk at udfylde email, meddelelse.</div>'; 
    } 

} 

, и это форма его самоуправления.

<article class="con460"> 
    <header><h2>Hurtig kontakt</h2></header> 
    <section id="quick_contact_form"> 
     <p> 
      Nedenfor ser du hvor, og hvornår vi udstiller vores nisser og dekorationer. Kig forbi og mød os til en snak om de hjemmelavede produkter. 
     </p> 
     <?php if(isset($message)) :?> 
      <?php echo $message; ?> 
     <?php else: ?> 
     <form class="contact" id="contact_form" action="start.php" method="post"> 
      <label>Navn:</label> 
      <input type="text" name="name" value=""> 
      <label>Email:</label> 
      <input type="text" name="email" value=""> 
      <label>Besked:</label> 
      <textarea name="message"></textarea> 
      <input type="reset" name="reset" value="Annuller"> 
      <input type="submit" name="sendmail" id="sendmail" value="Send"> 
     </form> 
     <?php endif; ?> 
    </section>  
</article> 

Надеюсь, это немного поможет.

ответ

2

Вы не можете сделать это, используя JavaScript. Вам необходимо обработать отправленную форму на стороне сервера и отправить соответствующее сообщение клиенту.

Одна из возможностей заключается в том, чтобы улучшить форму с помощью XMLHttpRequest, отправляя содержимое формы на сервер и позволяя функции обратного вызова заменять форму сообщением (успехом или неудачей). Тем не менее, я бы настоятельно рекомендовал использовать прежний процесс в любом случае и только расширять его с помощью такого вида обработки, как только прежний работает правильно (и использование XMLHttpRequest s не для новичков). Таким образом, вы убедитесь, что ваша форма все еще работает, если JavaScript недоступен.

Смежные вопросы