你能用一个 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>
我能找到的所有制作下拉表单的例子都涉及一个单独的 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>