用锚+ javascript提交表单 - 不好的做法?

时间:2010-07-17 22:54:21

标签: javascript html forms fallback

我目前有两个锚标签发送url查询以将投票放入数据库中,但我想切换到使用表单来保持网址清洁并避免重复查询(不是真正的问题,但让它看起来很难看)。 / p>

现在锚点需要在里面包含一个span-tag,以便通过css向按钮(链接)添加其他背景元素,因此我不能使用常规的表单按钮。

您是否考虑过使用javascipt作为不良做法从锚点提交这些表单?我可以想到其他一些解决方案,但它们似乎都不值得麻烦。我应该保持一个无脚本回退,其中禁用javascript的用户可以发送url查询(我真的想完全避免url查询)?如果,那么最好如何执行?

谢谢,
西蒙。

3 个答案:

答案 0 :(得分:8)

您可以在表单中使用<button>。它可以包含内容,您可以根据需要设置样式。

您可以使其看起来与您现在拥有的<a>完全相同,但点击它会提交POST表单。这几乎就像我们有<a>做POST!

答案 1 :(得分:5)

以这种方式按下按钮应该有效:

<button type="submit" value="upvote">
  <span>Vote Up</span>
</button>

<button type="submit" value="downvote">
  <span>Vote Down</span>
</button>

您应该尽力不提交带有JavaScript的表单,或者至少确保该功能在关闭时可用。

答案 2 :(得分:1)

我建议使用普通表单提交按钮 您可以将CSS应用于按钮以使其看起来时尚或应用背景图像。

我不认为你这样做是一种糟糕的做法。但是对于使用No-Script for Firefox等附加组件的用户来说,表单会中断。