【问题标题】:HTML form submission across various pages跨多个页面提交 HTML 表单
【发布时间】:2013-03-25 04:30:07
【问题描述】:

我有 4 个 HTML 页面。在每个页面中,我都有表单和表单元素,但我的提交按钮仅在我的第 4 页。那么如何在不使用 JavaScript 的情况下尝试访问我在前三页中选择的元素? 例如:考虑一个反馈表,我们必须在 3-4 页中回答问题才能提交反馈。我们只在第4页点击“提交反馈”按钮,那么第1页、第2页和第3页的元素如何提交到服务器??

这是我大学的问题单。这是完整的问题

第 1 步:

确定适合调查网站的 Web 架构。调查网站将首先简要介绍调查,然后是调查问题。每个问题网页最多包含两个调查问题、上一个和下一个问题的链接以及一个测试提交按钮。请注意,为此实验室创建了一个服务器脚本,允许您在单击“测试”按钮时测试数据是否正确传递到服务器。但是,服务器上不会保存任何数据。

第 2 步:

使用本地计算机上的任何文本编辑器(例如 NotePad++),为包含以下 HTML 5 元素的调查网站创建 HTML。调查表将放置在 ... 标签之间。

<!DOCTYPE HTML> <html lang="en"> <head>
<meta charset="utf-8"> <meta name="description" content="Web development"> 
<meta name="keywords"   content="HTML (Part 1 – Content - Form)"> 
<meta name="author" content="put your name here"> 
<title>Web Development Survey</title>
</head> <body>
<!–- Survey content --> </body>
</html>

第 3 步:

使用第 3 讲中讨论的元素标记表单内容。这些是

- Form <form> ... </form> 
 - Form elements such as <label>...</label>, <input ...>, <select> ... </select>, <text area> ... </text area>,<fieldset> ... </fieldset> and <legend>...</legend>

根据需要使用第 2 讲中讨论的其他 HTML 元素

 - Heading <h#>...</h#>, Paragraph <p>..</p>, Horizontal Rule <hr> 
 - List <ol>...</ol> or <ul>...</ul>, Table <table>...</table>, Image <img ...> and Anchor <a ... >...</a> 
 - Special characters

例如第一个问题页面的姓名和性别可以标记如下。

<form id="survey" method="post" action="http://mercury.ict.swin.edu.au/cchua/webdev/surveytest.php">
    <p><label>Name (optional)</label> <input type="text" name="name" size="20" />
    </p> <p>Gender<br />
    <label>Male</label> <input type="radio" name="gender" value=”M" />
    <label>Female</label>
    <input type="radio" name="gender" value="F" /> </p>
    <p><input type="submit" value="Test" /> <input type="reset" value="Reset" />
    </p> 
</form>
  • 请注意,上述示例代码中使用了 XHTML 编码风格 已在服务器上使用以下 URL 设置了处理脚本:

"//mercury.ict.swin.edu.au/cchua/webdev/surveytest.php"

这允许您测试您的表单是否可以正确地将输入的数据传递给服务器。请注意,输入的任何示例数据都不会保存在服务器上。

您可以在surveydata.txt获取所有调查信息和问题。确保每个调查问题使用正确的表单元素。例如,复选框用于允许多个答案的问题,而单选按钮用于单选问题。

第 4 步:

在mercury服务器~/hit1091/www/htdocs的unit文件夹下新建文件夹‘lab03’。将今天的工作上传到这个 lab03 文件夹。

使用 WinSCP,将所有调查 HTML 文件从本地计算机拖放到 htdocs/lab03 文件夹。您可以使用“survey##.htm”格式命名调查 HTML 文件,其中 ## 代表 2 位数字。例如,第一页可以命名为“survey01.htm”等等。

第 5 步:测试和查看网页。

要通过 http 查看页面,请使用任何 Web 浏览器并输入以下地址, //mercury.ict.swin.edu.au/hit1091//

是 s。例如 *http://mercury.ict.swin.edu.au/hit1091/s1234567/lab_03/survey01.htm*

当授权请求对话框弹出时,使用您的 SIMS 用户名和密码确认访问。

第 6 步:验证页面并修复显示的所有错误并重新验证

要验证 HTML 文件,请使用http://validator.w3.org 的“文件上传”界面。对于需要服务器预处理的网页页面,必须使用“URL”验证

【问题讨论】:

  • 如何从一个页面导航到另一个页面?
  • 仅使用下一个按钮我的意思是提交按钮将我重定向到下一页。但我不知道如何将表单元素带到另一个页面!
  • 您的服务器端语言是什么? php?请您发布您的简化代码。
  • 这是我大学的作业。已经发布了整个问题,请查看我发布的问题的编辑版本
  • 发帖前请先试一下。

标签: html forms html-validation http-post


【解决方案1】:

您需要做的是在每个页面上提交。然后通过一些服务器端脚本将帖子附加到下一页中的表单,直到您准备好处理信息。

例如,如果您在 PHP 中执行此操作,则可以在第二页上显示类似的内容。

<form method="post" action="page-3.html">
  <label>Input for page 2</label>
  <input type="text" name="page2Input" />

<?php 
  foreach($_POST as $key => $value) {
     echo '<input type="hidden" name="'. $key .'" value="' . $value .'" >'; //Info from page 1
  }
?>

  <input type="submit" value="To Page 3">
</form>

这会将第一页的信息“添加”到表单中,以便将其信息也发送到第 3 页。或者您也可以将它们放在 $_SESSION 中。

有不同的方法可以做到这一点。这只是其中之一。不过不要忘记清理您的输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多