Я реализовал свой Java Script для изменения содержимого формы после нажатия на кнопку.Все работает, но каждый раз, когда я заменяю старый HTML новым ... после того, как в контенте отображается число "1".
Мой Javascript:
$(document).on('click','#customButton', function (evt) {
evt.preventDefault();
var requestArray = $(".form_step").val();
$.ajax({
url: ajaxurl,
type: "POST",
data: {"action": "testNewsletter", "form_step":requestArray},
dataType: "",
success:function(data) {
$(".current").empty();
$(".current").html(data);
}
});
});
Пользовательская функция в functions.php
:
function testNewsletter() {
$FormId ='';
If(isset($_POST['form_step'])){
$FormId = $_POST['form_step'];
}
if($FormId == 1){
echo include ('pages/forms/form-two.php');
//echo 'AHOJ';
}
else if($FormId == 2){
echo include ('pages/forms/form-three.php');
}
else {
echo include ('pages/forms/form-four.php');
}
wp_die();
}
HTML Я заменил новым HTML:
<form method="post" class="newsletter">
<div class="current">
<div class="fce-newsletter-form">
<div class="row justify-content-center">
<div class="col-md-7 text-center">
<h2 class="mb-half"><?php the_sub_field('newsletter_title')?></h2>
<p class="mb-2 lead">Mit unserem Newsletter erhalten Sie monatlich Informationen rund um das Urlaubsland Österreich und eine Auswahl exklusiver Angebote und Gutscheine!</p>
</div>
</div>
<div class="row justify-content-center">
<div class="col-md-6">
<div class="testFormChange">
<div class="form-row">
<div class="col-8">
<input type="email" class="form-control" id="custom-input-newsletter" placeholder="Ihre E-Mail Adresse *" required="required">
</div>
<div class="col-4">
<input type="button" class="fce-newsletter-form-button btn btn-block btn-primary" id="customButton" value="Weiter">
<input type="hidden" value="step1" name="step">
</div>
</div>
</div>
<p class="fce-newsletter-form-note">mit * gekennzeichnete Felder bitte ausfüllen.</p>
<p class="fce-newsletter-form-error-message"></p>
</div>
</div>
<input type="hidden" name="form_step" class="form_step" value="1">
</div>
</div>
</form>
Каждые новые данные HTML имеют содержание, аналогичное первому HTML, например:
<div class="fce-newsletter-form">
<div class="row justify-content-center">
<div class="col-md-7 text-center">
<h2 class="mb-half"><?php the_sub_field('form_four_title')?></h2>
<p class="mb-2 lead">Vielen Dank für Ihre Anmedung zu unserem Newsletter.
Sie erhalten in Kürze eine E-Mail mit einem Bestätigungslink.</p>
</div>
</div>
<div class="row d-flex justify-content-center">
<a href="<?php the_permalink()?>" class="link-read-more"> <?php
include get_stylesheet_directory() . '/img/svg/icon_arrow.svg';
?>
Zum Newsletterarchiv
</a>
</div>
</div>
Когда явозвращаемая строка в эхо ... номер не отображается, но когда я возвращаю папку ... каждый раз будет появляться номер.У кого-нибудь есть совет для меня, пожалуйста?