用户登录到他的控制面板并查看他的传入消息.在每条消息附近都有一个“回复”按钮.实现该按钮的正确方法是什么?
我看到三个主要选择:
>使用链接:
<a href="customer.PHP?reply&messageid=1234">Reply</a>.
坏处:
>我们需要将该链接设置为看起来像一个按钮.因为我认为动作“回复”应该用按钮表示,而不是链接(在我看来,当链接到某些资源时以及当我们在链接文本中有名词时,应该使用链接;如果我们想要做出动作并且在标题中有动词(动作) – 应该使用按钮).
>使用按钮:
<button onclick="location.href='customer.PHP?reply&messageid=1234'">Reply</button>`
坏处:
>用户必须启用JavaScript.虽然根据我们的统计数据,99.8%的用户启用了JavaScript,但如果他们不这样做,那么他们在我们的网站上工作将非常困难(我们使用JavaScript实现了许多功能).所以我认为我们100%的实际活跃用户都启用了JavaScript.
>使用带有< input type =“submit”>的表单:
<form action="customer.PHP?reply" method="get"> <input name="messageid" type="hidden" value="1234" /> <input type="submit" value="Reply" /> </form>
坏处:
>我认为在这里使用表格是“人为的”.用户不输入任何内容.我们使用表单只是为了使我们的按钮工作.我还认为,当我们不更改任何内容并且只需要向用户显示回复表单时使用POST请求 – 违反了REST原则.但即使使用GET,我仍然认为在这种情况下使用表单是人为的.
其他一些说明:
>使用链接内的按钮在IE中不起作用.
>这是我们网站的一个私人部分,所以搜索引擎看不到它,我们真的不需要一个链接来帮助搜索引擎跟踪它并索引资源(这是在网络而不是按钮中使用链接的常用参数)
你会选择哪一个?为什么?
UPD.好吧,我决定使用一个链接.谢谢大家的讨论!