eprivalov
@eprivalov
Учусь

Как правильно отправить эту форму с помощью Ajax?

Есть форма:

<form id="page_edit_form_contact" enctype="application/x-www-form-urlencoded" class="global_form" action="/ne/page-only-for-test-sa" method="post"><div><div><h3>Send Message to Apply for Sponsorship</h3>
<p class="form-description"><p>Form for testing Sponsorship Application</p></p>
<div class="form-elements">
<div id="birthdate-wrapper" class="form-wrapper"><div id="birthdate-label" class="form-label"><label for="birthdate" class="optional">Birthdate:</label></div>
<div id="birthdate-element" class="form-element">
<select name="birthdate[day]" id="birthdate-day" class="date_class">
    <option value="0"> </option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
    <option value="21">21</option>
    <option value="22">22</option>
    <option value="23">23</option>
    <option value="24">24</option>
    <option value="25">25</option>
    <option value="26">26</option>
    <option value="27">27</option>
    <option value="28">28</option>
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
</select>&nbsp;<select name="birthdate[month]" id="birthdate-month" class="date_class">
    <option value="0"></option>
    <option value="1">января</option>
    <option value="2">февраля</option>
    <option value="3">марта</option>
    <option value="4">апреля</option>
    <option value="5">мая</option>
    <option value="6">июня</option>
    <option value="7">июля</option>
    <option value="8">августа</option>
    <option value="9">сентября</option>
    <option value="10">октября</option>
    <option value="11">ноября</option>
    <option value="12">декабря</option>
</select>&nbsp;<select name="birthdate[year]" id="birthdate-year" class="date_class">
    <option value="0"> </option>
    <option value="2015">2015</option>
    <option value="2014">2014</option>
    <option value="2013">2013</option>
    <option value="2012">2012</option>
    <option value="2011">2011</option>
    <option value="2010">2010</option>
    <option value="2009">2009</option>
    <option value="2008">2008</option>
    <option value="2007">2007</option>
    <option value="2006">2006</option>
    <option value="2005">2005</option>
    <option value="2004">2004</option>
    <option value="2003">2003</option>
    <option value="2002">2002</option>
    <option value="2001">2001</option>
    <option value="2000">2000</option>
    <option value="1999">1999</option>
    <option value="1998">1998</option>
    <option value="1997">1997</option>
    <option value="1996">1996</option>
    <option value="1995">1995</option>
    <option value="1994">1994</option>
    <option value="1993">1993</option>
    <option value="1992">1992</option>
    <option value="1991">1991</option>
    <option value="1990">1990</option>
    <option value="1989">1989</option>
    <option value="1988">1988</option>
    <option value="1987">1987</option>
    <option value="1986">1986</option>
    <option value="1985">1985</option>
    <option value="1984">1984</option>
    <option value="1983">1983</option>
    <option value="1982">1982</option>
    <option value="1981">1981</option>
    <option value="1980">1980</option>
    <option value="1979">1979</option>
    <option value="1978">1978</option>
    <option value="1977">1977</option>
    <option value="1976">1976</option>
    <option value="1975">1975</option>
    <option value="1974">1974</option>
    <option value="1973">1973</option>
    <option value="1972">1972</option>
    <option value="1971">1971</option>
    <option value="1970">1970</option>
    <option value="1969">1969</option>
    <option value="1968">1968</option>
    <option value="1967">1967</option>
    <option value="1966">1966</option>
    <option value="1965">1965</option>
    <option value="1964">1964</option>
    <option value="1963">1963</option>
    <option value="1962">1962</option>
    <option value="1961">1961</option>
    <option value="1960">1960</option>
    <option value="1959">1959</option>
    <option value="1958">1958</option>
    <option value="1957">1957</option>
    <option value="1956">1956</option>
    <option value="1955">1955</option>
    <option value="1954">1954</option>
    <option value="1953">1953</option>
    <option value="1952">1952</option>
    <option value="1951">1951</option>
    <option value="1950">1950</option>
    <option value="1949">1949</option>
    <option value="1948">1948</option>
    <option value="1947">1947</option>
    <option value="1946">1946</option>
    <option value="1945">1945</option>
    <option value="1944">1944</option>
    <option value="1943">1943</option>
    <option value="1942">1942</option>
    <option value="1941">1941</option>
    <option value="1940">1940</option>
    <option value="1939">1939</option>
    <option value="1938">1938</option>
    <option value="1937">1937</option>
    <option value="1936">1936</option>
    <option value="1935">1935</option>
    <option value="1934">1934</option>
    <option value="1933">1933</option>
    <option value="1932">1932</option>
    <option value="1931">1931</option>
    <option value="1930">1930</option>
    <option value="1929">1929</option>
    <option value="1928">1928</option>
    <option value="1927">1927</option>
    <option value="1926">1926</option>
    <option value="1925">1925</option>
    <option value="1924">1924</option>
    <option value="1923">1923</option>
    <option value="1922">1922</option>
    <option value="1921">1921</option>
    <option value="1920">1920</option>
    <option value="1919">1919</option>
    <option value="1918">1918</option>
    <option value="1917">1917</option>
    <option value="1916">1916</option>
</select></div></div>
<div id="address-wrapper" class="form-wrapper"><div id="address-label" class="form-label"><label for="address" class="optional">Address:</label></div>
<div id="address-element" class="form-element">
<input type="text" name="address" id="address" value="" class="address_class" /></div></div>
<div id="country-wrapper" class="form-wrapper"><div id="country-label" class="form-label"><label for="country" class="optional">Country:</label></div>
<div id="country-element" class="form-element">
<select name="country" id="country" class="country_class">
    <option value="USA">USA</option>
</select></div></div>

<input type="hidden" name="visitor" value="0" id="visitor" />
<div id="postal-wrapper" class="form-wrapper"><div id="postal-label" class="form-label"><label for="postal" class="optional">Postal Code:</label></div>
<div id="postal-element" class="form-element">
<input type="text" name="postal" id="postal" value="" class="postal_class" /></div></div>
<div id="topic-wrapper" class="form-wrapper"><div id="topic-label" class="form-label"><label for="topic" class="element_label_class topic_label_class optional">Topic Name</label></div>
<div id="topic-element" class="form-element">
<select name="topic" id="topic" class="topic_class">
    <option value="0"></option>
    <option value="9">Sponsorship</option>
</select></div></div>
<div id="subject-wrapper" class="form-wrapper"><div id="subject-label" class="form-label"><label for="subject" class="element_label_class subject_label_class optional">Subject</label></div>
<div id="subject-element" class="form-element">
<input type="text" name="subject" id="subject" value="" class="subject_class" size="37" /></div></div>

<input type="hidden" name="page_id" value="27" id="page_id" />
<div id="message-wrapper" class="form-wrapper"><div id="message-label" class="form-label"><label for="message" class="element_label_class message_label_class optional">Message</label></div>
<div id="message-element" class="form-element">
<textarea name="message" id="message" cols="45" rows="6" maxlength="512" class="message_class"></textarea></div></div>
<div id="submitted-wrapper" class="form-wrapper"><div id="submitted-label" class="form-label">&nbsp;</div><div id="submitted-element" class="form-element">
<button name="submitted" id="submitted" type="button" class="btn_send_class">Send</button></div></div></div></div></div></form>


Но только написав такой jQuery код:

var $j = jQuery.noConflict();
     
    $j(document).ready(function() {
      $j("#page_edit_form_contact").on('submit', function(event){
        event.preventDefault();
      });
    });


Понял, что ничего не срабатывает, так как форма все равно отправляется. На странице нет JS ошибок. Форму нужно обработать скриптом go.php, который находится в корне сайта.

Как-то так:

<?php
	if (isset($_POST['submitted'])) {
		$birthdate = $_POST['birthdate'];
		$address = $_POST['address'];
		$country = $_POST['country'];
		$postal = $_POST['postal'];

		$to = "test@test.com";
		$subject = "DEBUG";
		$message = "TEST";

		mail($to, $subject, $message);
	}
?>
  • Вопрос задан
  • 597 просмотров
Пригласить эксперта
Ответы на вопрос 1
@iShatokhin
JS developer
Форма у вас не отправляется, а делается ajax запрос (нашел у вас в коде):

$$('.btn_send_class').removeEvents('click').addEvent('click', function() 		{
			  var $contactForm = $('page_edit_form_contact');
  ................................
  var request = new Request.JSON(			{
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 23:07
2000 руб./за проект
24 нояб. 2024, в 21:55
200000 руб./за проект