gpt4 book ai didi

javascript - Ajax 在新的 HTML 内容代码后始终返回 "1"

转载 作者:行者123 更新时间:2023-12-03 01:00:14 26 4
gpt4 key购买 nike

我在单击按钮后实现了更改表单内容的 Java 脚本。一切正常,但每次我用新的 HTML 替换旧的 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>

当我在 echo 中返回字符串时...不显示数字,但是当我返回文件夹时...每次都会出现数字。有人可以给我一些建议吗?

最佳答案

include 自动进入 html 模式,并返回一个 boolean 指示成功(如果包含的文件存在)。由于您的文件主要是标记,因此它直接输出。因此,请从 include 语句 中删除 echo 来解决此问题。

Reference (跳到警告之后)

关于javascript - Ajax 在新的 HTML 内容代码后始终返回 "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52655441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com