Этот вопрос был изменен, поскольку я узнал больше о своей проблеме.
Мне поручено встроить форму подписки MailChimp в блок содержимого в нашей установке Episerver.
Форма не работает. Это здорово выглядит! Но когда пользователь нажимает «Отправить», страница просто обновляется.
- Формы работают, когда они размещены в Mailchimp, но не работают, когда они встроены в блок контента на нашем сайте Episerver (перепробовали их все).
- Формы работают, когда они встроены в статический HTML-файл без размещения на моем рабочем столе.
- Я отключил все скрипты jquery на главной тестовой странице, интересно, не мешает ли что-то там (возможно, валидатор) работе формы. Но после отключения всех скриптов форма по-прежнему обновляет страницу при отправке.
Я понятия не имею, что может вызвать конфликт, из-за которого простая HTML-форма игнорирует свой атрибут action = и скорее обновляет страницу. Это, конечно, ошибка или частичное невежество с моей стороны: но, копаясь, я не смог найти ответа, поэтому прошу вас всех о помощи.
Если я не предоставил достаточно информации, дайте мне знать, что еще добавить.
связанные скрипты в верхней части файла корневой главной страницы
<script src="/Scripts/jquery-3.1.1.min.js"></script>
<script src="/Scripts/bootstrap.min.js"></script>
<script type="text/javascript" src="/Scripts/bootstrapValidator.min.js"></script>
скрипты в нижней части файла корневой главной страницы
<script type="text/javascript">var addthis_config = { "data_track_addressbar": false };</script>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=redacted"></script>
<script type="text/javascript">
if (document.location.hostname == "redacted") {
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments);
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m);
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'redacted', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');
}
</script>
сценарий из другого включенного файла ascx (mainnav)
<script>
$(function () {
// Setup drop down menu
$('.dropdown-toggle').dropdown();
// Fix input element click problem
$('.dropdown-menu input, .dropdown-menu label').click(function (e) {
e.stopPropagation();
});
});
</script>
форма в файле представления ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MailChimpBlockControl.ascx.cs" Inherits="JamesTrustWF.Web.Views.Blocks.MailChimpBlockControl" %>
<div class="panel panel-default">
<div class="panel-body" style="margin: 0;padding:0;">
<!-- Begin Mailchimp Signup Form -->
<div id="mc_embed_signup">
<form action="url-provided-by-mailchimp" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll">
<h2>Subscribe</h2>
<div class="indicates-required"><span class="asterisk">*</span> indicates required</div>
<div class="mc-field-group">
<label for="mce-FNAME">First Names <span class="asterisk">*</span>
</label>
<input type="text" value="" name="FNAME" class="required" id="mce-FNAME">
</div>
<div class="mc-field-group">
<label for="mce-LNAME">Last Name </label>
<input type="text" value="" name="LNAME" class="" id="mce-LNAME">
</div>
<div class="mc-field-group">
<label for="mce-EMAIL">Email Address <span class="asterisk">*</span>
</label>
<input type="email" value="" name="EMAIL" class="required email" id="mce-EMAIL">
</div>
<div id="mce-responses" class="clear">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="redacted" tabindex="-1" value=""></div>
<div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
</div>
</form>
</div>
<!--End mc_embed_signup-->
</div>
</div>