【问题标题】:How do I use 1 submit button to do 2 actions?如何使用 1 个提交按钮执行 2 个操作?
【发布时间】:2013-10-16 21:55:43
【问题描述】:

我正在尝试将数据提交到我的邮件黑猩猩中的列表,但也允许用户上传文件。

这是我的代码,第一块是 mailchimp 自动生成的表单,通过以下方式提交:

<div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>

然后是提交文件的基本代码。但目前这两个功能都有一个提交按钮。我只想要一个。有人可以帮忙吗?

<body>
    <!-- Begin MailChimp Signup Form -->
    <div id="mc_embed_signup">
        <form action="http://test.us7.list-manage.com/subscribe/post?u=d12b70d4bb1e08c1568d5b392&amp;id=bfb41cbf75" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
            <h2>Subscribe to our test mailing list</h2>
            <div class="indicates-required">
                <span class="asterisk">*</span> indicates required
            </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 class="mc-field-group">
                <label for="mce-FNAME">First Name </label>
                <input type="text" value="" name="FNAME" class="" 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 input-group">
                <strong>Interests </strong>
                <ul>
                    <li><input type="checkbox" value="1" name="group[5597][1]" id="mce-group[5597]-5597-0"><label for="mce-group[5597]-5597-0">Interest 1</label></li>
                    <li><input type="checkbox" value="2" name="group[5597][2]" id="mce-group[5597]-5597-1">     <label for="mce-group[5597]-5597-1">Interest 2</label></li>
                    <li><input type="checkbox" value="4" name="group[5597][4]" id="mce-group[5597]-5597-2"><label for="mce-group[5597]-5597-2">Interest 3</label></li>
                </ul>
            </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>
        </div>
        <form action="upload_file.php" method="post" enctype="multipart/form-data">
            <label for="file">Filename:</label>
            <input type="file" name="file" id="file"><br>
            <input type="submit" name="submit" value="Submit">
            <div class="clear">
                <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
            </div>
        </form>
    </form>
</body>

【问题讨论】:

  • 你的意思是有一个按钮来上传文件,然后当用户选择一个文件时,他们会触发电子邮件?
  • 也许布尔值可以解决问题?
  • @David Jones 所以用户填写他们的详细信息并选择一个文件(例如简历)。文件被发送到公司,详细信息被发送到 mailchimp 中的列表 - 抱歉没有解释清楚!
  • 好吧抱歉我没有注意到两个提交按钮。因此,您只需要一个提交按钮即可将所有数据(包括上传)提交到您的 PHP 脚本,然后这将处理并保存文件并发送电子邮件。我可以看看处理这个表单的 PHP 脚本吗?
  • 我还没有创建“upload_file.php”,这肯定是不相关的吗?我不仅需要一段代码来执行提交到 mailchimp 以及能够执行其他操作吗?

标签: php html forms mailchimp


【解决方案1】:

您可以通过您的 upload_file.php 文件路由 MailChimp 信息来完成此操作。

MailChimp 有一个很棒的 AP​​I,您可以使用它来将订阅者添加到列表中。你会特别想要listSubscribe() function。该页面上有一些很好的示例。

这里有更多关于 MailChimp API 的文档:http://apidocs.mailchimp.com/api/2.0/

因此,在您的 HTML 中,您可能希望删除第二个提交按钮并使其成为一个带有 action="upload_file.php" 的表单。 PHP 文件会上传文件,然后使用 API 将数据提交给 MailChimp。

你的 html 应该是这样的:

<body>
<!-- Begin MailChimp Signup Form -->
<div id="mc_embed_signup">
    <form action="upload_file.php" method="post" enctype="multipart/form-data">
        <h2>Subscribe to our test mailing list</h2>
        <div class="indicates-required">
            <span class="asterisk">*</span> indicates required
        </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 class="mc-field-group">
            <label for="mce-FNAME">First Name </label>
            <input type="text" value="" name="FNAME" class="" 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 input-group">
            <strong>Interests </strong>
            <ul>
                <li><input type="checkbox" value="1" name="group[5597][1]" id="mce-group[5597]-5597-0"><label for="mce-group[5597]-5597-0">Interest 1</label></li>
                <li><input type="checkbox" value="2" name="group[5597][2]" id="mce-group[5597]-5597-1">     <label for="mce-group[5597]-5597-1">Interest 2</label></li>
                <li><input type="checkbox" value="4" name="group[5597][4]" id="mce-group[5597]-5597-2"><label for="mce-group[5597]-5597-2">Interest 3</label></li>
            </ul>
        </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>
    </div>
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file"><br>

    <div class="clear">
        <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
    </div>
</body>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    相关资源
    最近更新 更多