在PHP文件中调用javascript函数并在加载HTML文件之后? - javascript

我需要在我的php中调用js函数,但无法正常工作。有人可以告诉我我在做什么错吗?我该如何轻松地做到这一点?

谢谢!

我有三个文件:

  mail.php

负责发送$ _POST的内容(工作正常)。我调用我的javascript函数来切换模式,具体取决于邮件是否已发送。

 <? 
    ...
    $response = $sendgrid->send($email);
    if ($response) {
        echo '<script type="text/javascript">',
            'confirmaEnvio();',
        '</script>';
         header('Location: /contato');
    }
    else {
        echo '<script type="text/javascript">',
            'falhaEnvio();',
        '</script>';
         header('Location: /contato');
    }
?>

  functions.js

有两种功能,一种是使用文本告知邮件已发送,切换模式,一种是使用文本告知邮件未发送,以切换模式。

function confirmaEnvio () {
    $("#modal").find(".modal-body").text("Mensagem enviada com sucesso!");
    $("#modal").modal("show");
}
function falhaEnvio() {
    $("#modal").find(".modal-body").text("Erro!");
    $("#modal").modal("show");
}

  view.html

表单使用POST将数据发送到mail.php

<form name="contato" method="post" action="../php/mail.php">
   <div class="form-group row">
        <label for="email" class="col-sm-2 col-form-label">Email</label>
        <div class="col-sm-10">
          <input type="email" class="form-control" id="email" name="email" placeholder="Email" required>
        </div>
   </div>
   <div class="form-group row">
      <label for="name" class="col-sm-2 col-form-label">Nome</label>
      <div class="col-sm-10">
         <input type="text" class="form-control" id="name" name="name" placeholder="Nome" required>
       </div>
    </div>
    <div class="form-group row">
       <label for="msg" class="col-sm-2 col-form-label">Mensagem</label>
       <div class="col-sm-10">
          <textarea class="form-control" name ="msg" rows="10" id="msg" placeholder="Mensagem" required></textarea>
       </div>
    </div>
    <div class="form-group row">
       <div class="col-sm-10">
          <button type="submit" name="submit" class="btn">Enviar</button>
       </div>
     </div>

  我的模态,同一个文件,view.html

<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
      <div class="modal-content">
        <div class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">

        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
          <button type="button" class="btn btn-primary">Save changes</button>
        </div>
      </div>
    </div>
  </div>

javascript参考方案

由于php调用,这似乎是一种奇怪的方式来调用Javascript函数。您似乎正在调用Javascript函数,然后立即加载新页面。因此,即使Javascript开始执行,它也会在新页面加载后立即转储。

更好的方法是从Javascript调用php函数,然后根据php函数的响应进行响应。

如何使用PHP从动态输入字段捕获数组值? - javascript

我正在编写一个在线时间跟踪网页,允许用户将学习时间输入该系统。用户将首先输入名称,然后根据日期输入学习时间。一天中可能会有多个学习时间。以下是我第一页的编码,<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…

手风琴按年份排序的帖子 - javascript

我有一个自定义类型的推荐信,并且帖子很少。我正在尝试创建一个按年份显示帖子的手风琴。因此,当您单击年份时,它将显示该年份的所有帖子(请参见下面的屏幕截图)。我已经有点用了,问题是当我单击年份时,它仅显示该年的一篇帖子。这是代码-> https://pastebin.com/3F98dcEU <?php get_header();?> <…

PHP stringID无法从回显中读入onclick - javascript

我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…

在php中单击按钮添加表行并设置字段值 - javascript

我有一个表单,必须在单击按钮时添加表行。这是我必须动态添加的表行:(addProdToGroup.php)<tr style="text-align: center;" id="products"> <td><?php $j ?></td> <td><s…

利用异步Json请求/方法调用来加快页面加载速度 - javascript

我正在研究由4个信息框组成的数字标牌,按照目前的情况,我向控制器发出1个单个Json请求,以检索将在这些框中显示的数据。 action方法在数据库中查询信息,并调用4个单独的私有方法,提供查询信息以填充要作为json返回到视图的列表。下面提供了示例代码。我的问题是,如何通过控制器侧的多线程或对4个独立操作方法的4个单独的Json请求来异步完成此操作。当前控制…