为了账号安全,请及时绑定邮箱和手机立即绑定

在提交时将输入值解析为 php 变量

在提交时将输入值解析为 php 变量

PHP
梦里花落0921 2022-01-02 14:50:29
我有一个表单,除了我想要它做的事情之外,它还在做其他各种事情,这不是理想的情况,但我想标记一些额外的事情。是否可以在提交时将电子邮件输入字段解析为 php 变量而不会破坏当前存在的内容?然后触发表单下面的php?  <form action="/event" method="POST">    <input type="hidden" name="event" value="mc_newsletter_add">    <input type="hidden" name="data[source]" value="newsletter">    <input checked=checked type="checkbox" name="data[newsletter_onetime]" id="newsletter_onetime" class="newsletter-optins">    <input checked=checked type="checkbox" name="data[promos]" id="promos" class="newsletter-optins">    <input class="modal-newsletter-input" id="EmailAddress" name="data[customers_email_address]" placeholder="Enter your email here" required="required" type="email" value="<?php if(isset($_GET['email'])){echo $_GET['email'];}?>" aria-required="true">    <input class="modal-newsletter-signup" id="newslettersignup" onclick="register_signup();" name="Submit" type="submit" value="Yes, sign me up" />  </form>这是php:<?php $sib_tracking = new SIB_Tracking();      $email = (submitted email to go here);      $event = "marketing";      $result = $sib_tracking->track_event($email, $event); ?>
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

不知道你在register_signup()做什么。我认为这是某种钩子。


那么你可以做什么,点击事件 - 防止表单提交。通过$ajax请求发送表单数据,然后调用您的 hook register_signup(),然后从页面中删除表单以防止进一步重复提交。


  <form action="/event" method="POST" id="signupForm">

    <input type="hidden" name="event" value="mc_newsletter_add">

    <input type="hidden" name="data[source]" value="newsletter">

    <input checked=checked type="checkbox" name="data[newsletter_onetime]" id="newsletter_onetime" class="newsletter-optins">

    <input checked=checked type="checkbox" name="data[promos]" id="promos" class="newsletter-optins">


    <input class="modal-newsletter-input" id="EmailAddress" name="data[customers_email_address]" placeholder="Enter your email here" required="required" type="email" value="<?php if(isset($_GET['email'])){echo $_GET['email'];}?>" aria-required="true">

    <input class="modal-newsletter-signup" id="newslettersignup" name="Submit" type="submit" value="Yes, sign me up" />

  </form>


  <script>

    $("#signupForm").submit(function(e) {

        e.preventDefault();

        var form = $(this);


        $.ajax({

               type: "POST",

               url: form.attr('action'),

               data: form.serialize(),

               success: function(data)

               {

                   console.log(data); //data contain response from your php script

                   register_signup();

                   form.replaceWith("<div>You signed in</div>"); //This is optional - remove your form from page

               }

             });

    });

  </script>

请注意 - 我添加id到<form>标签,并删除onClick处理程序和提交按钮。


希望你在寻找什么。


查看完整回答
反对 回复 2022-01-02
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号