PHP表单提交按钮,但不离开页面


PHP form submit button but not leave page

我有一个按钮,链接到一个php文件,该文件在点击时跟踪用户的电子邮件,但我不希望用户在点击按钮时离开页面,我只想更改按钮的值。这是表单的 html。

<form action="mysql-query.php" method="post">
<input type="text" name="email" style="display:none;">
<input type="submit" value="Press here" id="test"  onclick="Press()">
</form>

这是处理表单的脚本:

<script>
function Press() {
   var test= document.getElementById("test");
   test.value="Thank you";
localStorage.value=("ok");
}
</script>

我把显示:none;因为我不想显示除了按钮之外的任何内容,并且有办法与我的php文件连接。
有什么想法吗?

你需要使用 ajax:

.html:

<form action="mysql-query.php" method="post" onsubmit="return Press(this)">
<input type="text" name="email" style="display:none;">
<input type="submit" value="Press here" id="test">
</form>

.js:

function Press(form) {
   $.post($(form).attr('action'), function() {
       var test= document.getElementById("test");
       test.value="Thank you";
       localStorage.value=("ok");
   });
   return false; // prevent submitting the form
}

或者更好地使用 jQuery 绑定提交事件:

$('form').submit(function() {
   $.post($(this).attr('action'), function() {
       var test= document.getElementById("test");
       test.value="Thank you";
       localStorage.value=("ok");
   });
   return false; // prevent submitting the form
});

使用:

<form action="javascript:void()">

好的,这阻止表单将数据发送到任何地方,除非您在提交按钮上使用"onclick"事件。

你可以做的是删除按钮上的type="submit"并将其替换为type="button"。接下来,你可以对你的php进行ajax调用并发挥你的魔力。