2013-04-02 6 views
0

Изменен код для этого сейчас. Форма находится в subscribe.php, которая включена в индексную страницу.Как использовать jquery ajax с отправкой формы

<form class="subscribe" id="email" method="get"> 
    <input class="email" id="emailaddress" name="email" type="text" placeholder="[email protected]" required> 
    <input class="button" type="submit" id="emailSub" value="Subscribe"> 
</form> 
<div id="subResult"></div> 

Jquery находится в нижней части страницы индекса

$(document).ready(function() { 
    $('#emailSub').click(function() { 
     var email = $('#emailaddress').val(); 
     alert(email); 
     $.ajax({ 
      type: "GET", 
      dataType: 'script', //<-Data Type for AJAX Requests(xml | html | script | json) 
      url: 'checksub.php', 
      data: { 
       'e': email 
      }, 
      success: function(result) { 
       $("#subResult").html(result); 
      } 
     }); 
    }) 
}); 

Checksub страница это сейчас для тестирования.

<?php include 'admin/includes/db_connection.php'; ?> 
<?php 
$email = mysqli_real_escape_string($db, $_GET['e']); 
echo "test string:"; 
echo $email; 
?> 

ответ

2

Возможно, вам стоит сменить dataType? попробуйте:

$.ajax({ 
    type: "GET", 
    dataType: 'html', //<-Data Type for AJAX Requests(xml | html | script | json) 
    url: 'checkemail.php', 
    data: { 
     'e': email 
    }, 
    success: function(data) { 
     $("#subResult").html(result); 
    } 
}); 

и

<input class="button" type="submit" id="emailSub" value="Subscribe"> 
          ^HERE 

должно быть:

<input class="button" type="button" id="emailSub" value="Subscribe"> 

из submit является формой и завершения заполнения обновить страницу .. так JQuery не работает ..

Specifying the Data Type for AJAX Requests

+0

Еще не радость :( –

+0

проверить все типы данных, один за другим .. – mehdi

+0

Могу ли я проверить сам ajax. У меня есть checkemail.php, эхо, 'test' и ничего отображается –

3

Вы предотвращаете отправку сообщения по умолчанию по нажатию кнопки?

$('#emailSub').click(function(e){ 
    e.preventDefault(); 
    var email = $('#emailaddress').val(); 
    $.ajax({url:"checkemail.php?e="+email,success:function(result){ 
     $("#subResult").html(result); 
    }}); 
}) 
+0

+1 для 'e.preventDefault();' – 2013-04-02 19:46:12

+1

Теперь у меня есть этот $ ('# emailSub'). Click (function (e) { \t \t e.preventDefault(); \t \t var email = $ ('# emailaddress'). Val(); \t \t $ .post ({URL: "checksub.php", {е: адрес электронной почты}, функция (результат) { \t \t \t $ ("# subResult") HTML (результат); \t \t \t}.}); \t \t}) –

+0

Отлично! Я этого не понимал. Вы можете использовать $ .post или, альтернативно, вы можете вручную сериализовать форму $ .ajax ({url: "checksub.php", data: $ ('# email'). Serialize(), введите: «POST», success: function (результат) { $ ("# subResult"). html (результат); }}); – Zach

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