Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML:更新页面与用户输入后重定向到新页面_Html - Fatal编程技术网

HTML:更新页面与用户输入后重定向到新页面

HTML:更新页面与用户输入后重定向到新页面,html,Html,我正在尝试编写一些HTML代码,以便在用户将输入提交到表单后,在当前页面上创建一个表。也就是说,我希望输出值显示在当前页面的底部,而不是在表单中输入值,单击submit,然后重定向到具有计算输出值的新页面。这样,用户输入保持不变,唯一的变化是将输出表追加到当前页面的底部。下面是我理想情况下希望页面工作的示例: 任何帮助都将不胜感激。谢谢 您需要使用javascript来完成此操作。如果您提供了页面的当前代码和希望实现的特定目标,那么我可以给出一个示例脚本,但是如果您觉得自己编写代码很舒服,那么

我正在尝试编写一些HTML代码,以便在用户将输入提交到表单后,在当前页面上创建一个表。也就是说,我希望输出值显示在当前页面的底部,而不是在表单中输入值,单击submit,然后重定向到具有计算输出值的新页面。这样,用户输入保持不变,唯一的变化是将输出表追加到当前页面的底部。下面是我理想情况下希望页面工作的示例:


任何帮助都将不胜感激。谢谢

您需要使用javascript来完成此操作。如果您提供了页面的当前代码和希望实现的特定目标,那么我可以给出一个示例脚本,但是如果您觉得自己编写代码很舒服,那么只需查看javascript教程。

您需要表单操作来指向同一页面。假设页面的URL是

然后您需要将您的操作指向同一页

在你的表格里有一个隐藏的字段 <input type='hidden' name='formSubmitted' value='1' > 当此表单提交到自身时,您可以通过get参数检查隐藏字段是否有值

一旦获得该值,就可以进行条件检查以显示一个表。但出于这个原因,您需要使用服务器端语言,如jsp或php


另一种方法是不提交表格。而是在单击submit query按钮时调用javascript。此javascript将从填写的表单框中读取值,并将它们显示在下表中。

您不知道要使用什么来处理表单,但您将无法仅使用HTML来处理表单。因此,您需要使用另一种语言进行某种处理

正如其他人所提到的,您可以使用JavaScript实现这一点。AJAX将是一种方法,但如果您真的愿意,您可以编写自己的代码来实现这一点(但如果您不必这样做,我不推荐使用AJAX)

另一种方法是使用PHP。提交表单时,让页面处理本身

与PHP建议类似,您可以通过CGI脚本/程序来实现这一点。表单中指定的操作是调用页面本身。下面是一个简单的Python示例,假设脚本的名称为so_self_call.py:

#!/usr/bin/env python

import cgi
import sys

def end_page():
    print "</body>"
    print "</html>"

def print_form():
    print "<form action=\"so_self_call.py\">"
    print "<input type=\"text\" name=\"theText\">"
    print "<input type=\"submit\">"
    print "</form>"
    return

def start_page():
    print "Content-Type: text/html"
    print
    print "<html>"
    print "<head>"
    print "<title>Example of Python CGI script which calls itself</title>"
    print "</head>"
    print "<body>"
    return

def main():
    start_page()
    print_form()
    the_form = cgi.FieldStorage()
    if "theText" in the_form:
        print "From last time, theText = %s" % (the_form["theText"].value)
    end_page()
    return

if __name__ == "__main__":
    sys.exit(main())
#/usr/bin/env python
导入cgi
导入系统
def end_页面():
打印“”
打印“”
def print_form():
打印“”
打印“”
打印“”
打印“”
返回
def开始页面()
打印“内容类型:文本/html”
打印
打印“”
打印“”
打印“调用自身的Python CGI脚本示例”
打印“”
打印“”
返回
def main():
开始页()
打印表格()
_form=cgi.FieldStorage()
如果“文本”在表格中:
打印“从上次开始,文本=%s”%(表格[“文本”]值)
(完)
返回
如果名称=“\uuuuu main\uuuuuuuu”:
sys.exit(main())

您可以使用jQuery轻松完成这项工作。使用将表单提交到计算器页面,并让计算器将其结果输出为JSON。然后,您可以在底部表格中输出该结果,而无需用户离开/重新加载页面


希望这有帮助。

您可以在HTML文件中使用PHP

范例 只需像这样创建您的表单

<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

姓名:
年龄:
当用户单击“提交”按钮时,发送到服务器的URL可能如下所示:

“welcome.php”文件现在可以使用$\u GET函数收集表单数据(表单字段的名称将自动成为$\u GET数组中的键): 然后创建一个表并添加正确位置的行。例如,这是您的表,您将在HTML文件中编写的内容就这么简单

Welcome <?php echo $_GET["fname"];?>.<br />
You are <?php echo $_GET["age"]; ?> years old!
欢迎。
你已经岁了!
希望有帮助。 如果有,请告诉我。谢谢


PK

您是否考虑过在您提到的示例网页上进行“查看源代码”并复制他们的技术?这是一个很棒的想法。这也是我过去常做的事情:使用老的视图源代码技巧。唯一的问题是它不会显示任何服务器端编译。所有这些都会被处理,而这些值只会被输入到客户机的计算机中。因此,当数据提供给我们时,所有内容都已处理完毕,因此我们无法看到他们是如何处理的,只能看到返回给我们的值。我是唯一认为OP希望提交表单而不刷新页面的人吗,在这种情况下,他肯定需要JS通过AJAX提交表单?OP说他不希望页面“刷新”。这意味着他不希望浏览器发送新的HTTP头。他想要AJAX。实际上OP使用了“重定向”,而不是“刷新”。也许你的解释是正确的;如果是这样,JavaScript解决方案似乎是唯一的解决方案。然而,对我来说,“重定向”仅仅意味着将浏览器发送到不同的页面;因此会有各种可接受的解决方案,一些使用JavaScript(因此可能,但不一定是AJAX)和其他一些方法。请看下面的帖子。顺便说一句,戈德史密斯公司的马特?@Pavan:请记住,答案出现的顺序可能会受到投票、选择哪个答案(如果有的话)以及我们对答案的排序方式不同的事实的影响。而且,顺便说一句,可能不会,除非你认为你是在一个姓戈德史密斯的人家里遇见我的……好吧。我一定会记住这一点。谢谢你的提醒。而且,我上大学的朋友也和你同名我以为你是他Lolyp那是个理想的解决方案。这样就不会重新加载任何内容。这条路太棒了。这背后的独创性。让我想起了facebook的工作方式。更新状态,然后一切都被推下:D brilliant我告诉你brilliant loljQuery=javascript。正如几次所说的那样,第
Welcome <?php echo $_GET["fname"];?>.<br />
You are <?php echo $_GET["age"]; ?> years old!