Отправить форму аяксом

Тема в разделе "JavaScript", создана пользователем svmsung, 23 мар 2013.

  1. svmsung

    svmsung

    Регистрация:
    22 мар 2013
    Сообщения:
    0
    Симпатии:
    0
    Как отправить форму через Ajax, чтобы результат отправки отобразился в #write?
    Форма отправки:
    Код:
    <form method="post" action="http://mysite.ru/ob.php">
    <select name="first"><option>1</option></select>
    <select name="second"><option>2</option></select>
    <textarea name="third" >Текст сообщения</textarea>
    <input type="submit" name="send" value="Отправить">
    </form>
    <div id="write"></div>
    Обработчик ob.php
    PHP:
    if(isset($_POST['send'],$_POST['first'],$_POST['second'])) {
    $first trim($_POST['first']);
    $second trim($_POST['second']);
    $third trim($_POST['third']);
    if(empty(
    $first) || empty($second)) {
    echo 
    'Вы заполнили не все поля!';
    }
    else {
    $mailto [email protected]';
    $subject 'Тема письма';
    $message 'First: <b>'.$first.'</b><br/>';
    $message .= '<br/>'.$second;
    $message .= '<br/>Third:'.$third;
    $headers 'Content-type: text/html; charset=utf-8';
    $mail mail($mailto,$subject,$message,$headers);
    if(
    TRUE === $mailheader('Location: http://mysite.ru/?send=true');
    else 
    header('Location: http://mysite.ru/?send=false');
    }
    }[/
    code]
     
  2. mikediam

    mikediam

    Регистрация:
    28 фев 2013
    Сообщения:
    73
    Симпатии:
    5
    Код:
    <script type="text/javascript">
    $(document).ready(function(){
       
    $('#myform').submit(function(stop){
    stop.preventDefault();// отменяем стандартную отправку
     
     
    var obfirst=$('select[name=first]').val();
    var obsecond=$('select[name=second]').val();
    var obthird=$('textarea[name=third]').val();
     
      $.ajax({
    	  type: "post",
    	  url: "ob.php", // здесь адрес php страницы
       
    	  data:({first:first,second:second,third:third,send:"1"}),
    	  success: function(result)
    		{
    		$('#result').html(result);
    		}
    });
    });
    	 
    });/*end  ready*/
    </script>
     
  3. svmsung

    svmsung

    Регистрация:
    22 мар 2013
    Сообщения:
    0
    Симпатии:
    0
    Обработчик вместо "Отправлено" выдает "??????????"
    Кодировка везде UTF-8 (и в html и в php)
    Как это можно поправить?
     
  4. mikediam

    mikediam

    Регистрация:
    28 фев 2013
    Сообщения:
    73
    Симпатии:
    5
    Сохрани в utf-8 без BOM
     
    svmsung нравится это.