你能用一个 HTML 文件制作一个表格吗?

Can you make a form with a single HTML file?

我能找到的所有制作下拉表单的例子都涉及一个单独的 PHP 文件。我正在尝试将一些代码嵌入到 Weebly 页面中,因此我不确定是否可以在服务器上保存一个单独的 PHP 文件。那么是否有可能完全避免 PHP 呢?也许在 JavaScript 和 jQuery 中做所有事情?或者将表格和 PHP 放在同一个 HTML 文件中?

更具体地说,我想做的是制作一个页面,其中有几个下拉表单。用户select几个选项,点击提交,客户端后台对输入进行一些计算,并打印出结果。

我一直在尝试按照下拉菜单指南进行操作:https://www.w3schools.com/tags/tag_select.asp

我一直在关注这个在表单中使用 PHP:https://www.ntchosting.com/encyclopedia/scripting-and-programming/php/php-in/

根据该指导,我创建了这个无法工作的代码:

<!DOCTYPE html>
<?php
  $Level = $_POST["level"];
?>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <form action="<?php echo $PHP_SELF;?>" method="post">
      Choose a level: <select name="level" id="level">
        <option value="high">High</option>
        <option value="med">Medium</option>
        <option value="low">Low</option>
      </select>
    </form>
    <p>
    <?php
      echo "".$Level;
    ?>
    </p>
  </body>
</html>

我说它不起作用,因为当我点击下拉菜单中的任何内容时,没有任何反应。


此进一步信息来自评论中的交流:

啊,这个真的不需要和服务器交互。它最终将成为一种工具,以便客户可以获得自动生成的估计价格报价。所以他们回答了一些问题(即 select 一些下拉菜单并在字段中输入一些数字)并点击提交,然后网页会给出一个估计值。没有保存任何信息或类似的东西,所以在客户端处理所有事情应该没问题。但是,根据您的描述,听起来 PHP 无法做到这一点。我认为 Weebly 不会让我更改文件扩展名。

删除 DOCTYPE html 并将文件的扩展名更改为 .php

当然可以。您可以使用表单上的 onSubmit 属性来 运行 一些 javascript(并扩展为 jquery),而无需实际提交表单。更具体地说,它看起来像这样:

<form onSubmit="return yourJavascriptFunction()" method="post">

在您的脚本中,您可以使用 document.getElementById(yourDropdownID) 从表单的字段中获取下拉值并执行任何必要的操作。如果您不希望您的表单重定向,只需 return false; 在您的函数上。使用此方法,您实际上并不需要表单,并且可以使用一些带有 id 的 <select> 标签,以及一个伪提交按钮:

<button onclick="yourFunction()">Submit</button> 

如果您想使用 php 执行此操作,您必须将扩展名更改为 php 并添加一个提交按钮,否则您无需 php 即可轻松执行此操作,如下所示。

<form action="#" method="post">
      Choose a level: <select name="level" id="level" onChange="document.getElementById('selectedValue').innerHTML = this.value;">
        <option value="high">High</option>
        <option value="med">Medium</option>
        <option value="low">Low</option>
      </select>
    </form>
    <p> <span id="selectedValue"></span></p>