当前位置: 首页 > 知识库问答 >
问题:

我在mamp服务器上运行的index.php没有为我的页面加载任何javascript文件

邓威
2023-03-14

我的索引。在我的mamp服务器上运行的php没有加载我项目中的任何javascript文件。我还应该补充一点,我正在不断地学习这一点。我对html有很好的经验,但我对html和php的结合还不熟悉。

我必须使用php将html表单链接到电子邮件。为了做到这一点,我不得不改变我的索引。要索引的html。php,它要求我运行mamp以查看网页。

现在我已经在我的localhost服务器上运行了网页,该页面在我的项目中没有运行任何javascript文件。

文件结构如下所示:project/css/style。css字体/img/image文件js/script。js等。js文件索引。php

这是js/script中的我的表单部分。js

$(document).ready(function(){
    $("#flip-down").click(function(){
      $("#flip-down-panel").slideToggle("slow");
    });
  });
#flip-down-panel, #flip-down {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
  }
  
  #flip-down-panel {
    padding: 50px;
    display: none; /* <<<<< remove this line to view what's suppose to display
  }
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>contactform</title>
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="style.css">
  <script type="text/javascript" src="script.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

</head>

<body>
  <section id="contact">
    <div class="container">
      <h2 id="flip-down">
        <font color="black">CONTACT ME</font>
      </h2>
      <div id="flip-down-panel">
        <form action="contactform.php" method="POST">
          <h3>Tell Me Something</h3>
          <div class="row">
            <label>Name:</label>
            <?php
            if (isset($_GET['name'])) {
              $name = $_GET['name'];
              echo '<input name="name" type="username" placeholder="First Name" value="'.$name.'">';
            } else {
              echo '<input name="name"type="username" placeholder="First Name">';
            }
            ?>
          </div>
          <div class="row">
            <label>Email</label>
            <?php
            if (isset($_GET['email'])) {
              $email = $_GET['email'];
              echo '<input name="email" type="email" placeholder="Email address" value="'.$email.'">';
            } else {
              echo '<input name="email" type="email" placeholder="Email address">';
            }
            ?>
          </div>
          <div class="row">
            <label>Message</label>
            <?php
            if (isset($_GET['message'])) {
              $message = $_GET['message'];
              echo '<textarea type="text" placeholder="Write message" value="'.$message.'"></textarea>';
            } else {
              echo '<textarea type="text" placeholder="Write message"></textarea>';
            }
            ?>
          </div>
          <div class="row">
            <input type="submit" class="btn btn-sub" value="Send Message">
          </div>
        </form>
        <?php
        if (!isset($_GET['contactUs'])) {
          exit();
        } else {
          $contactUsCheck = $_GET['contactUs'];
          if ($contactUsCheck == "empty") {
            echo '<p class="error">You MUST fill out all fields!</p>';
            exit();
          } elseif ($contactUsCheck == "char") {
            echo '<p class="error">You used invalid characters for Name!</p>';
            exit();
          } elseif ($contactUsCheck == "invalidemail") {
            echo '<p class="error">You entered an invalid email!</p>';
            exit();
          } elseif ($contactUsCheck == "mailsent") {
            echo '<p class="success">Your message has been sent!</p>';
            exit();
          }
        }
        ?>
      </div>
    </div>
  </section>
  <!--FOOTER-->
  <section>
    <div id="flip-down">
        <div>Copy Right stuffs</div>
    </div>
  </section>
</body>

</html>

共有2个答案

唐景山
2023-03-14

加载你的js文件,就像你可能一直做的那样:

如果您真的希望它直接包含在php中(看不出这样做的真正原因,但您可以…)确保将其包含在

...
<label class="sr-only">Name</label>
    <script>
        <?php 
            include 'js/script.js';
        ?>
    </script>
    <?php
        if( isset($_GET['name']) ) {
        ...

还要确保文件的路径正确

苏承载
2023-03-14

我自己在PHP方面并不是很有经验,但如果我没有弄错的话,include只是将文件的内容放到调用它的位置。不要在PHP中包含JS文件,尝试创建一个HTML标记,如下所示:

<script src="/js/script.js" type="text/javascript"></script>

编辑:关于更新的代码,我注意到在CSS和HTML中有两个ID,flip-downflip-down panel,但在JS中,只有flippanel。将JavaScript中的选择器分别更改为向下翻转向下翻转面板后,您发布的示例工作正常。

作为旁注,ID只意味着在所有DOM元素中都是唯一的,因此如果您有一个ID需要多次使用,比如倒转,我建议将其更改为类,这样当您尝试引用具有该ID的所有内容时,它就不会引起JavaScript问题。

最后一件事,将引用JQuery的脚本标记放在使用它的脚本标记之前,因为它必须在被使用之前被加载。

 类似资料:
  • 所以大约一周前,我决定学习编写minecraft插件,所以我试着按照下面的指南去做: 我把我的测试插件加载到我pc上的Spigot1.12服务器上,我得到了很多错误:

  • ` ` 在TOmCAT服务器中。我无法运行这个项目。? ` 严重:web应用程序[/SpringMvc4]中的Servlet[spring]抛出了load()异常Java。伊奥。FileNotFoundException:无法打开组织上的ServletContext资源[/WEB-INF/spring servlet.xml]。springframework。网状物上下文支持ServletCont

  • 问题内容: 我想在整个页面加载之前运行一些javascript。这可能吗?还是代码开始在上面执行? 问题答案: 不仅 可以 ,但是你必须做出特别的努力, 不 ,如果你不想。:-) 当浏览器在解析HTML时遇到标签时,它将停止解析并移交给运行脚本的Javascript解释器。在脚本执行完成之前,解析器不会继续(因为脚本可能会调用解析器应处理的输出标记)。这是默认行为。有一些标记属性可以更改该行为和并

  • “我想下载一个从基于spring的restful web服务发送的.pdf文件到我的angular应用程序。如何下载,我的angular应用程序或Spring Boot上是不是缺少了一些代码?” 我正在从angular 6应用程序向spring-boot服务器发送一个HTTP GET请求,该服务器生成一个.pdf文件,然后将这个.pdf文件作为blob发送给我,但当我试图在angular侧创建一个

  • 返回文件的URL。 starfxdemodoc.fxml为: 而StarfXDemodocController.java是这样的: 有谁能帮我一下吗? 编辑/更新: 根据james_d的评论(谢谢你James,显然我已经盯着这个问题太久了……),我修复了控制器中的明显错误,并将SimNameField设置为TextField,而不是Label(并更新了上面的代码块以反映这一点)。我还将异常处理更改

  • 我已经通过Composer下载并安装了谷歌云存储PHP库,下载了JSON密钥文件,但我无法使用该库做任何事情。当我严格按照指示去做时,我只得到错误。不管怎样,这是我试图做任何事情的文件中的代码,比如列表桶文件,或者上传文件,等等...谁能告诉我我做错了什么?我真的很想在我的服务器上使用谷歌云存储来备份文件。 如果这有助于澄清,我正在使用DreamHost VPS作为我的服务器。它支持PHP7.0。