我想创建一个像按钮一样的HTML按钮.因此,当您单击该按钮时,它会重定向到页面.我希望它尽可能地易于访问.
我也很喜欢它,所以URL中没有任何额外的字符或参数.
我怎样才能做到这一点?
根据到目前为止发布的答案,我目前正在这样做:
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
Run Code Online (Sandbox Code Playgroud)
但问题是在Safari和Internet Explorer中,它在URL的末尾添加了一个问号字符.我需要找到一个不会在URL末尾添加任何字符的解决方案.
还有另外两种解决方案:使用JavaScript或样式化链接看起来像一个按钮.
使用JavaScript:
<button onclick="window.location.href='/page2'">Continue</button>
Run Code Online (Sandbox Code Playgroud)
但这显然需要JavaScript,因此屏幕阅读器不易访问.链接的要点是转到另一个页面.因此,尝试使按钮像链接一样是错误的解决方案.我的建议是你应该使用一个链接并将其设置为看起来像一个按钮.
<a href="/link/to/page2">Continue</a>
Run Code Online (Sandbox Code Playgroud) 我正在做以下事情:
<a href="www.stackoverflow.com">
<button disabled="disabled" >ABC</button>
</a>
Run Code Online (Sandbox Code Playgroud)
这很好,但我得到一个HTML5验证错误,说"元素'按钮'不能嵌套在元素'按钮'中.
谁能给我建议我应该怎么做?
所以我现在感觉真的很蠢,但我似乎无法找到答案.
所以我有一个方法需要一次完全调用,因为这只是实验阶段,我认为一个简单的按钮就足够了.但是,我似乎无法找到如何/如果我可以通过按钮单击调用该方法.
该方法位于home_controller.rb中,按钮位于index.html.erb中
有任何想法吗?或者这不是我能做的事情吗?
简短版本:
你知道有什么方法可以获得一个输入按钮(提交)和一个锚标签来使用CSS和没有Javascript直观地呈现相同的内容吗?
长版:
我正在开发一个ASP.NET MVC应用程序.该站点包含用于查看或创建或更新模型的详细信息的页面.页面操作包含在表单的底部,通常包括" 更新"和" 取消"或" 编辑"," 删除"和" 列表"(如果在详细信息视图页面上).该更新,编辑和删除行为从形式到服务器的数据发布,同时取消和列表动作是/可以由适当的GET请求处理.值得注意的是,我的设计目标之一是,如果Javascript被禁用,则启用Javascript时,网站的工作方式尽可能相同.我还希望UI元素在视觉上呈现相同的元素是否导致回发或触发GET请求.
为了使表单提交在没有Javascript的情况下工作,我想我必须使用提交按钮.我用CSS重写了按钮的视觉样式,使其呈现出与SO页面顶部的"按钮"非常相似 - 平面,纯色和纯文本.我希望生成GET请求的操作可以使用锚标记来处理,但是我在使用这些标记和样式化按钮进行相同渲染时遇到了问题.对齐和字体大小似乎存在问题.我能够让它们接近但不完全相同.
编辑: 使用按钮和锚点的样式差异包括无法使字体在相对于边界框内的基线的相同位置渲染,并使边界框本身呈现相对于容器的相同大小和对齐.无论我的调整如何,事情都只有几个像素.如果你能够让它工作,请告诉我.知道它可能会让我更容易继续尝试,直到我能够让它工作.
我试过的一件事是围绕一个按钮包裹GET动作,其形状类似于表单按钮.这在Firefox中很有用,但在IE7中却没有.单击IE7中的这样一个按钮并不会将点击返回到锚点.我现在想出的是使用与所需操作相关联的method ="GET"为GET创建一个新表单.我将它包装在一个提交按钮周围,该按钮具有一个onclick处理程序,location.href该处理程序设置为所需操作的URL.这在视觉上呈现相同并且似乎有效,即使表单嵌套在另一种形式中也是如此.一个小问题是,如果Javascript被禁用,那么我的GET url包含一个?最终,而不是你想要的漂亮的干净网址.
我想知道的是,是否有其他人以不同的方式解决了这个问题,以便更好地工作(并且可能需要更少的HTML)?你还有其他想法吗??当Javascript关闭时,当请求作为帖子提交时,有什么方法可以修复GET URL吗?
详细信息视图中的示例代码.我意识到我可以(并且可以说应该)通过javascript添加onclick处理程序,但是当我内联时代码实际读取更好.我正在使用HtmlHelper扩展来生成下面的所有标记.我重新格式化它以提高可读性.
<form action="../Edit/2" class="inline-form" method="get">
<input class="button"
onclick="location.href='../Edit/2';return false;"
value="Edit"
type="submit" />
</form>
<form action="../Delete/2" class="inline-form" method="post">
<input class="button"
value="Delete"
type="submit" />
</form>
<form action="../List" class="inline-form" method="get">
<input class="button"
onclick="location.href='../List';return false;"
value="List Donors"
type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud) 在我的网站上,我有一个jQuery脚本,如果单击下载按钮,它将在新窗口中打开所需的图像。
我的问题是,当您单击图像将自动保存而不在新窗口中打开的按钮时,如何制作此脚本。
我的代码:
<script type="text/javascript">
$(document).ready(function (){
$('#download-btn').click(function(){
var size = $('#size').val();
window.open(size);
});
})
</script>
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何使html链接看起来像一个按钮?
我环顾四周.找到一些链接到非常多彩的按钮,看起来根本不像按钮:-)
有没有人有他们找到或想出的一些CSS,可以帮助我使我的链接看起来像我在表单中使用"提交"类型按钮时看到的"真实"按钮.
我不介意CSS是否使用图形背景.只是寻找尽可能接近模拟按钮的东西.我也可以在我的页面上使用jQuery.
非常感谢你
<a href="signUp.html"><button type="submit" class="btn btn-primary submitSignUp" >Sign Up</button></a>
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我有一个名为signUp的不同页面,然后点击注册按钮,我希望它转到signUp页面.
如果我点击页面 A 中的一个按钮,浏览器将重定向到页面 B。在页面 B 中,如果我再次单击另一个按钮,它会重定向到页面 A。这里我曾经window.location.href重定向新页面。
例如:window.location.href="http:\\localhost:12345\index2.html"
是重定向下一页的任何其他替代方法。我不想使用windows.location
更新:
如果我使用windows.location我来自的 url 存储在 document.reffer. 出于安全目的,我不想允许存储 url。
html ×6
css ×3
javascript ×3
jquery ×2
anchor ×1
angularjs ×1
asp.net-mvc ×1
button ×1
html5 ×1
htmlbutton ×1
hyperlink ×1
navigation ×1
onclick ×1
redirect ×1