Javascript 停留在当前页面上的HTML表单操作

Javascript 停留在当前页面上的HTML表单操作,javascript,php,html,forms,email,Javascript,Php,Html,Forms,Email,我正在做一个时事通讯注册,一个用户输入他们的电子邮件并点击表单提交按钮。问题是,时事通讯注册在我的页脚,它显示在网站的每一页上。现在我有了action=“newsletter.php”,它向我发送了一封电子邮件,其中包含他们用来注册的电子邮件。我可以有一个“window.location=”,但我希望它返回到他们来自的页面(因为页脚可能在网站的任何页面上) 现在,我想知道是否有一种方法可以不让表单操作为“newsletter.php”,而是让php只在页脚文件中,这样他们就永远不会离开最初所在的

我正在做一个时事通讯注册,一个用户输入他们的电子邮件并点击表单提交按钮。问题是,时事通讯注册在我的页脚,它显示在网站的每一页上。现在我有了action=“newsletter.php”,它向我发送了一封电子邮件,其中包含他们用来注册的电子邮件。我可以有一个“window.location=”,但我希望它返回到他们来自的页面(因为页脚可能在网站的任何页面上)

现在,我想知道是否有一种方法可以不让表单操作为“newsletter.php”,而是让php只在页脚文件中,这样他们就永远不会离开最初所在的页面,一个简单的window.alert可以让他们知道他们的注册成功了,他们可以继续做他们正在做的事情,不管他们在网站的哪个页面上

在从谷歌获得创意并亲自尝试之后,我尝试制作一个javascript函数,其中包含php需要发送给我一封带有他们键入的电子邮件的电子邮件,但很明显,每次加载网站的任何页面时,它都会给我发送一封空白电子邮件。我也尝试过使用“isset”,但问题是action=“”只是在isset检查他们是否键入电子邮件之前重新加载页面

NEWSLETTER.PHP-

   <?php
$field_emailInput = $_POST['emailInput'];

$mail_to = 'josh@cutephilosophy.com';
$subject = 'NEWSLETTER SUBSCRIBER';

$body_message .= 'This person subscribed for email updates: ';
$body_message .= 'E-Mail: '.$field_emailInput."\n";

$headers = 'From: '.$field_emailInput."\r\n";
$headers .= 'Reply-To: '.$field_emailInput."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
    <script language="javascript" type="text/javascript">
        window.alert('You Are Now In The Loop!');
        //window.location = 'index.php';
        window.location ='history.back()';
    </script>
<?php
}
else { ?>
    <script language="javascript" type="text/javascript">
        alert('Something broke, email josh@cutephilosophy.com about the problem!');
        window.location = 'index.php';
    </script>
<?php
}
?>

window.alert('您现在在循环中!');
//window.location='index.php';
window.location='history.back()';
警报('有东西坏了,发电子邮件josh@cutephilosophy.com关于这个问题!);
window.location='index.php';

您会注意到,我在使用action=“newsletter.php”方法时尝试了“history.back()”,这是可行的,但是当window.alert显示时,您位于一个完整的白色页面上,而不是它们最初所在的页面上,然后您被重定向回原来的页面。

您不能使用php\u Self吗。或者在html中添加一个后退按钮,允许他们单击返回到原来的位置。

使用php
mail()
发送电子邮件并将表单操作设置为

htmlspecialchars($\u服务器['REQUEST\u URI'])


htmlspecialcharacters部分为表单增加了安全性,而服务器部分则将您返回到同一页面。

如果我提交了一份用于注册时事通讯的表单,我希望看到一个确认页面,这样我就知道它起了作用。之后,大多数人都可以点击浏览器的后退按钮。如果你不想让他们离开页面,你需要使用AJAX。你不需要AJAX,你可以使用HTTP 204无内容响应。但不提供反馈仍然是一个糟糕的主意。昆汀,就用户体验而言,我不认为新页面是可取的,这可能会导致观众流失,因为他们觉得自己已经“完成”了在那里的业务。我宁愿只显示一个弹出窗口,说它起作用了,这样他们就可以直接回到他们正在做的事情上。后退按钮太麻烦了,我希望他们留在原来的页面上,只显示一个简单的弹出窗口,说他们的注册成功了。详细说明我将如何合并PHP_Self?