在一个标记中使用javascript和PHP?

在一个标记中使用javascript和PHP?,javascript,php,Javascript,Php,我觉得我已经四处寻找这个问题的答案了,但是大多数回答都非常粗糙:涉及通过AJAX弹出的javascript、重定向和其他动态修改DOM的方法 我想做的是,当用户提交一个javascript文档并通过邮件php提交消息时,使submit按钮消失。我的代码如下: <form action="" method="post"> ... <input onclick="removeElements()" id="subButton" class="submit" name="submit

我觉得我已经四处寻找这个问题的答案了,但是大多数回答都非常粗糙:涉及通过AJAX弹出的javascript、重定向和其他动态修改DOM的方法

我想做的是,当用户提交一个javascript文档并通过邮件php提交消息时,使submit按钮消失。我的代码如下:

<form action="" method="post">
...
<input onclick="removeElements()" id="subButton" class="submit" name="submit" type="submit" value="submit">
submit函数在没有javascript调用的情况下工作,但是当我添加onclick=removeElements部分时,javascript部分开始工作,但php不再执行

我知道还有其他方法可以做到这一点,但在这种情况下,我真的很好奇为什么这不能像我计划的那样发挥作用。通过删除submit按钮,我实际上是在中期还是在预执行时杀死子PHP进程

谢谢

如果添加onclick,则必须手动启动提交

另一个选项是在表单标记的onsubmit=removeElements中添加javascript调用代码。这样,它将在执行submit之后执行您的代码

相关的

如果添加onclick,则必须手动启动提交

另一个选项是在表单标记的onsubmit=removeElements中添加javascript调用代码。这样,它将在执行submit之后执行您的代码


相关的

不要删除按钮,而是将其样式设置为“可见:隐藏”或“显示:无”。这样,它仍然会在文档中,并且会起作用,只是不会显示出来

不要删除按钮,而是将其样式设置为“可见:隐藏”或“显示:无”。这样,它仍然会在文档中,并且会起作用,只是不会显示出来

当您发送表单时,会重新加载页面,因此我建议:

使用Ajax并仅在响应上单击delete按钮,或 重新加载页面时不生成按钮。 jqueryajax示例:您可以在这里看到它们


问候。

当您发送表单时,会重新加载您的页面,因此我建议:

使用Ajax并仅在响应上单击delete按钮,或 重新加载页面时不生成按钮。 jqueryajax示例:您可以在这里看到它们

注意。

您可以简单地使用JQuery提供的.hide功能。它的使用非常简单,非常干净

示例1使用JQuery:

示例2使用JQuery:

您可以简单地使用JQuery提供的.hide功能。它的使用非常简单,非常干净

示例1使用JQuery:

示例2使用JQuery:


因为您只是删除了Dom,所以没有提交事件?如果是这样的话,我认为改变el.remove;to el.style.display=none进行测试。我想我应该提到我尝试了所有这些css技巧来禁用id的可见性。它们不起作用。我觉得他们好像把按钮拿掉了,但几秒钟后它又回来了。因此按钮不会消失,电子邮件也不会发送。我将进一步研究,看看是否可以用更多相关信息更新上述内容。因为您只是删除了Dom,所以没有提交事件?如果是这样的话,我认为改变el.remove;to el.style.display=none进行测试。我想我应该提到我尝试了所有这些css技巧来禁用id的可见性。它们不起作用。我觉得他们好像把按钮拿掉了,但几秒钟后它又回来了。因此按钮不会消失,电子邮件也不会发送。我将进一步研究它,看看是否可以用更多相关信息更新上面的内容。我喜欢这样-我不知道onsubmit事件侦听器。我觉得这是一种进步,但对我来说不起作用。我喜欢这样——我不知道onsubmit事件侦听器。我觉得这是一种进步,但对我来说不起作用。
var el = document.getElementById("subButton");
el.remove();
document.getElementById("thankYouMessage").setAttribute("style", "display:block");
$("#FormID").submit(function(e) 
{
   e.preventDefault();
   // Hide button
   $("#subButton").hide();
   // Display thank-you message
   $("#thankYouMessage").css("display", "block");
});
$(document).ready(function() {
    $(".submit").click(function() {
       $("#subButton").hide();
       $("#thankYouMessage").css("display", "block");
       return false;
    });
});