0

这与建立在 wordpress 上的网站有关。我有一个小系统,其中来自特定 div 的一些内容"content-div"通过 ajax 提交通过电子邮件发送给我。请注意,它不使用<form>标签,因为您会在下面的代码中注意到它。其余的事情都非常简单。

HTML:内容在 div 中生成并通过input-type=submit.

<div id="content-div">
        //php generated content
</div>
<input type="submit" value="SUBMIT-CONTENT" id="button" onClick="handleFormSubmit()">

AJAX - 提交和重定向是通过此代码完成的。

<script language="javascript" type="text/javascript">

     function handleFormSubmit()
      {
        var button = document.getElementById('button');
        button.style.display = 'none';
      }
    </script>

    <script type="text/javascript">
      jQuery(document).ready(function($) 
       {
         $('#button').click(function(){
         $.ajax({
              type: 'POST',
              url: 'http://awesomeness.com/pathto/processForm.php',
              data:{'message':$('#content-div').html(),'client': $('#some-field').val()           },
                  success:function(data) {
                  window.location = "http://awesomeness.com/thanks/";
             }
           });
          });
         });
    </script>

ProcessForm.php 只包含基本的 html 电子邮件代码。这是它的样子:

$to = "emailto@awesomepeople.com";
  $subject  = "NEW ARTICLE";
  $message .= $_POST['message'];
  $client   = $_POST ['client'];
  $headers = "From: awesomesite <someone@website.com>" . "\r\n";
  $headers .= "MIME-Version: 1.0\r\n";
  $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";           
  mail($to, $subject, $message, $headers);

所有这些都运行良好。现在,当访问者点击“提交内容”按钮时,需要运行另一个 php 函数。此功能作为链接提供。

<a class='wpfp-link' href='?wpfpaction=reset' rel='nofollow'>RESET</a>

通常,单击此链接会触发一个功能,该功能基本上会清除浏览器缓存并重置主“content-div”。请注意,我不需要页面上的这个函数的链接。我只需要以某种方式在提交上运行的功能。基本上,当访问者点击“提交内容”时,链接中的功能应该像点击“重置”链接一样被执行。这可能在成功提交时发生,然后表单必须按照其通常的例程进行,例如。提交到 processForm.php 并重定向等。我希望我的要求是可能的。如果有怎么办?提前谢谢了。

4

1 回答 1

0

这是不可能的,至少不是你如何描述它。

当您执行 Ajax 请求时,您正在发送参数,然后您可以解析请求的响应。

我猜这里的输出wpfpaction=reset将是 HTML。一种可能性是将页面的当前 HTML 代码替换为来自 ajax 查询的响应wpfpaction=reset

看到这个问题:更改 HTML 代码而不刷新页面

于 2013-10-25T08:24:22.560 回答