根据点击的按钮更改文本内容

时间:2015-04-11 19:37:20

标签: html server-side

我是一个初学者,但我的目标是让我的网页标题发生变化,具体取决于在另一个页面上点击的按钮。

更确切地说,我有一个网页,上面有7个按钮,编码如下:

<form action="contribution.html">
    <input type="submit" style="margin-right: 80px;margin-top: 25px;" value="I contribute">
</form>

所有按钮都指向相同的“contribution.html”页面,但我希望该页面的标题会有所不同,具体取决于用户点击的按钮。必须有一种方法可以做到这一点,而不为每个按钮创建7个不同的“contribution.html”页面...我假设。

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:2)

当您执行表单提交服务器时,会收到包含单击按钮的HTTP发布请求。拥有该请求服务器端可以生成<title>元素的适当内容。浏览器会将<title>中的文字呈现为标签/页面的标题。

因此,您需要在服务器上使用类似PHP等的东西。在这种情况下,您可以使用单个contrib.php文件(但不是静态html)。

答案 1 :(得分:1)

使用javascript是最简单的解决方案。如果你花一点时间学习jQuery,你可以使用这样的东西:

// A reference to your "header" element
var header = $('.header');

// When the submit button is clicked
$('[type=submit]').click(function(){
  // Update the header with the button's text
  header.text( $(this).value() );
});

虽然我建议为你想要的按钮使用更具体的选择器,[type-submit]过于通用,但我使用它是因为你做了。

答案 2 :(得分:0)

根据您的申请,如果您想成为SEO友好者,您应该查看此答案How to dynamically change a web page's title?

答案 3 :(得分:0)

使用服务器端语言和<a>标记而不是表单。 在PHP中它看起来像这样:

<a href="/contribution.php?sum=10">10$</a>
<a href="/contribution.php?sum=20">20$</a>
<a href="/contribution.php?sum=30">30$</a>

然后在contribution.php上,您可以从$_GET['sum']获取请求数据并采取相应行动。