У меня есть веб-сайт объявлений, и на странице, где реклама, показал, я создаю, "Отправляют подсказку другу" форма...
Таким образом, кто-либо, кто хочет, может отправить подсказку рекламы некоторым друзьям адрес электронной почты.
Я предполагаю, что форма должна быть отправлена php праву страницы?
<form name='tip' method='post' action='tip.php'>
Tip somebody: <input name="tip_email" type="text" size="30" onfocus="tip_div(1);" onblur="tip_div(2);"/>
<input type="submit" value="Skicka Tips"/>
<input type="hidden" name="ad_id" />
</form>
При представлении формы перезагружается страница... Я не хочу это...
Там какой-либо путь состоит в том, чтобы заставить его не перезагрузить и все еще отправить почту? Preferrably без ajax или jQuery...
Спасибо
Вам нужно будет отправить запрос ajax, чтобы отправить электронное письмо без перезагрузки страницы. Взгляните на http://api.jquery.com/jQuery.ajax/
Ваш код должен выглядеть примерно так:
$('#submit').click(function() {
$.ajax({
url: 'send_email.php',
type: 'POST',
data: {
email: 'email@example.com',
message: 'hello world!'
},
success: function(msg) {
alert('Email Sent');
}
});
});
Форма будет отправлена в фоновом режиме на send_email Страница .php
, которая должна будет обработать запрос и отправить электронное письмо.
Вот несколько jQuery для публикации на php-странице и возврата html:
$('form').submit(function() {
$.post('tip.php', function(html) {
// do what you need in your success callback
}
return false;
});
Вам нужно будет использовать JavaScript, чтобы не получить iframe
(уродливый подход).
Вы можете сделать это с помощью JavaScript; использование jQuery сделает это безболезненно.
Предлагаю вам попробовать AJAX и Posting.
Вы либо используете AJAX, либо
Вы можете попробовать установить атрибут target вашей формы на скрытый iframe, чтобы страница, содержащая форму, не перезагружалась.
Я попробовал это с загрузкой файлов (которая, как мы знаем, не может быть выполнена через AJAX), и это прекрасно сработало.
Страница будет перезагружена, если вы не хотите использовать javascript
Вы пробовали использовать iFrame? Нет ajax, и исходная страница не загрузится.
Вы можете отобразить форму отправки как отдельную страницу внутри iframe, и когда она будет отправлена, внешняя страница / страница контейнера не будет перезагружаться. Это решение не будет использовать какой-либо ajax.