PHP联系论坛-单击“发送”按钮后如何使其不更改url?

克里斯·拉德

我有一个论坛及其页面的一部分,它工作正常,但是单击“发送”按钮时,URL始终更改为我的.php文件,因此:(mysite.com/forum.php)可以阻止此问题吗?并将其发送信息到电子邮件,而无需更改网址即可?我想将论坛的页面保留在.html中,因为论坛只是页面上许多内容之一。

到目前为止,这是我的论坛和php代码:(基本)

 <form method="post" action="forum.php">
          <div class="field name-box">
                <input type="text" name="name" id="name" placeholder="Who Are You?"/>
                <label for="name">Name</label>
                <span class="ss-icon">&#10004;</span>
          </div>

          <div class="field email-box">
                <input type="text" name="email" id="email" placeholder="[email protected]"/>
                <label for="email">Email</label>
                <span class="ss-icon">&#10004;</span>
          </div>

          <div class="field msg-box">
                <textarea id="message" name="message" rows="4" placeholder="Your message goes here..."/></textarea>
                <label for="msg">Msg</label>
                <span class="ss-icon">&#10004;</span>
          </div>

          <input id="submit" class="button" name="submit" type="submit" value="submit" />
  </form>

的PHP:

<?php

       $email = $_POST['email'];
       $name = $_POST['name'];
       $message = $_POST['message'];
       $from = 'From: Datcroft Website';
       $to = '[email protected]';
       $subject = 'Datcroft Site Message';

       $body = "From: $name\n E-Mail: $email\n Message: $message\n";

       if ($_POST['submit']) {
           if (mail ($to, $subject, $body, $from)) {

           } else {

           }
       }
    ?>

有任何指示或帮助吗?我是Php还是Ajax的新手(我猜Ajax将是答案中的解决方案)

谢谢高级!

可以按原样工作吗?从下面的fbo3264中获取答案。

var Name = $("#Name").text();
var Email = $("#Email").text();
var Message = $("#Message").text();

$(document).ready(function() {


        $('#Forum1').submit(function(ev) {

            ev.preventDefault();


            var postData = $(this).serializeArray();
            var formURL = $(this).attr("action");


            $.ajax({
                type        : 'POST', //we use POST to submit the form
                url         : forum.php, // the url where we want to POST
                 data:{

          Name:Name,
          Email:Email,
      Message:Message

      },
                success:function(response) 
                {
                  //handle success (show a success modal or someting)
                },
                error: function(jqXHR, textStatus, errorThrown) 
                {
                  //handle error
                }
            });


        });

    });
EOL

如您所料,我将使用jQuery和Ajax:

$(document).ready(function () {

                // manually submit the form
                $('#Forum1').submit(function (ev) {
                    ev.preventDefault();

                    var params = {"email": $("#Email").val(), "name": $("#Name").val(),
                        "message": $("#Message").val(), "submit": true};

                    $.ajax({
                        type: 'POST', //we use POST to submit the form
                        url: 'forum.php', // the url where we want to POST
                        data: params,
                        success: function (response)
                        {
                            console.log(response);
                        },
                        error: function (jqXHR, textStatus, errorThrown)
                        {
                            //handle error
                        }
                    });
                });
            });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章