Во-первых, я студент, хотя это не для школы. Я пытаюсь создать контактную страницу для сайта моей церкви (http://fpcoakwood.azurewebsites.net). Я еще не опубликовал контактную страницу, поскольку я пытаюсь ее создать. Я использую Bootstrap/jQuery/ASP.NET для создания сайта. Существует страница видео, которая использует ASP для получения списка видеороликов с YouTube для нашего канала, а затем заполняет элемент select html, и я работаю так, чтобы выбор другого видео загружал это видео в плеер без обратной передачи (хотя я бы хотел, чтобы я сделал кнопку «Назад», вернул меня на предыдущую страницу, вместо того, чтобы сначала ездить на велосипеде по предыдущим видео).Отправить информацию в код без обратной передачи
На этой странице моя задача состоит в том, что я пытаюсь отправить электронное письмо. У меня есть код для работы, так что я могу отправить электронное письмо, но я также пытаюсь отключить кнопку отправки и fadeIn в результате div, который будет показывать либо успех, либо отказ отправить электронное письмо. Проблема в том, что, поскольку происходит обратная передача, страница перезагружается, и я теряю отключение кнопки и отображение статуса. Вот некоторые из кода, который я до сих пор:
HTML:
<div class="form-group">
<asp:Button class="btn btn-success" ID="sendMail" OnClick="sendMail_Click" OnClientClick="sendMail(); return false;" runat="server" UseSubmitBehavior="false" Text="Send Message" />
</div>
<div id="sendSuccess" runat="server">Success!</div>
<div id="sendFailed" runat="server">Unable to send message. Please try again later.</div>
JS:
$("#sendMail").click(function (event) {
event.preventDefault();
$("#sendSuccess").fadeOut();
$("#sendFailed").fadeOut();
$("#sendMail").attr("disabled", true);
$("#sendMail").attr("text", "Sending...");
return true;
});
C#:
protected void sendMail_Click(object sender, EventArgs e)
{
//sendMail.Enabled = false;
//sendMail.Text = "Sending...";
SendMessage();
}
Если я избавлюсь от яваскрипта функции , Я могу отправить электронное письмо. Это без проблем. Но с функцией javascript точка останова в функции C# никогда не попадает, поэтому она не попадает на сервер. Я хочу, чтобы иметь возможность проверять в js перед отправкой на сервер, а затем отправлять на сервер без обратной передачи и отправлять сервер сообщения js, позволяя fadeIn() для отказа или сообщения об успешном завершении.
Любая помощь будет ОЧЕНЬ высоко оценена. Заранее спасибо!
Точка останова никогда не ударил, потому что JS отменяет событие. поэтому форма никогда не отправляется. То, что вы зазываете, называется [AJAX] (http://www.w3schools.com/ajax/) – litelite
@litelite: На самом деле у них есть другая ошибка ('preventDefault' даже не * называется *), так что это не проблема (пока) :) –
Лучше никогда не смешивать обработчики событий inline с обработчиками событий jQuery. Они не играют хорошо вместе. Используйте обработчики событий jQuery для обеих задач, и проблема станет очевидной для вас :) –