标签: button

如何创建一个像链接一样的HTML按钮?

我想创建一个像按钮一样的HTML按钮.因此,当您单击该按钮时,它会重定向到页面.我希望它尽可能地易于访问.

我也很喜欢它,所以URL中没有任何额外的字符或参数.

我怎样才能做到这一点?


根据到目前为止发布的答案,我目前正在这样做:

<form method="get" action="/page2">
    <button type="submit">Continue</button>
</form>
Run Code Online (Sandbox Code Playgroud)

但问题是在SafariInternet 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)

html anchor button hyperlink htmlbutton

1769
推荐指数
21
解决办法
574万
查看次数

<button>与<input type ="button"/>.哪个用?

在查看大多数网站(包括SO)时,大多数网站使用:

<input type="button" />
Run Code Online (Sandbox Code Playgroud)

代替:

<button></button>
Run Code Online (Sandbox Code Playgroud)
  • 如果有的话,两者之间的主要区别是什么?
  • 是否有正当理由使用一个而不是另一个?
  • 有合理的理由使用它们吗?
  • 是否使用<button>兼容性问题,看到它没有被广泛使用?

html compatibility button html-input

1588
推荐指数
14
解决办法
59万
查看次数

在文本框中的Enter键上使用JavaScript触发按钮单击

我有一个文本输入和一个按钮(见下文).当在文本框中按下键时,如何使用JavaScript 触发按钮的单击事件Enter

我当前页面上已经有一个不同的提交按钮,所以我不能简单地将按钮设置为提交按钮.并且,如果从这个文本框中按下该按钮,我希望Enter键单击此特定按钮,没有别的.

<input type="text" id="txtSearch" />
<input type="button" id="btnSearch" value="Search" onclick="doSomething();" />
Run Code Online (Sandbox Code Playgroud)

javascript onclick button onkeypress

1250
推荐指数
25
解决办法
134万
查看次数

如何防止按钮提交表单

在下一页中,使用Firefox,删除按钮提交表单,但添加按钮不提交.如何阻止删除按钮提交表单?

<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function addItem() {
  var v = $('form :hidden:last').attr('name');
  var n = /(.*)input/.exec(v);
  var newPrefix;
  if ( n[1].length == 0 ) {
    newPrefix = '1';
  } else {
    newPrefix = parseInt(n[1])+1;
  }
  var oldElem = $('form tr:last');
  var newElem = oldElem.clone(true);
  var lastHidden = $('form :hidden:last');
  lastHidden.val(newPrefix);
  var pat = '=\"'+n[1]+'input';
  newElem.html(newElem.html().replace(new RegExp(pat, 'g'), '=\"'+newPrefix+'input'));
  newElem.appendTo('table');
  $('form :hidden:last').val('');
}
function removeItem() {
  var rows = $('form tr');
  if ( rows.length > 2 ) …
Run Code Online (Sandbox Code Playgroud)

html javascript forms submit button

858
推荐指数
14
解决办法
63万
查看次数

Android:在Button或ImageButton上组合文本和图像

我正在尝试在按钮上创建一个图像(作为背景)并动态添加,具体取决于运行时发生的情况,图像上方/上方的一些文本.

如果我使用ImageButton我甚至没有可能添加文本.如果我使用,Button我可以添加文本,但只定义具有此处android:drawableBottom定义的XML属性的图像.

然而,这些属性仅在x和y维度中组合文本和图像,这意味着我可以在文本周围绘制图像,但不能在我的文本下方/下方(z轴定义为从显示中出来).

有关如何做到这一点的任何建议?一个想法是扩展ButtonImageButton覆盖draw()-method.但凭借我目前的知识水平,我真的不知道如何做到这一点(2D渲染).也许有经验的人知道解决方案或至少有一些指针可以开始?

android text image button

526
推荐指数
14
解决办法
53万
查看次数

我可以让<按钮>不提交表格吗?

我有一个表格,有2个按钮

<a href="index.html"><button>Cancel changes</button></a>

<button type="submit">Submit</button>
Run Code Online (Sandbox Code Playgroud)

我也使用jQuery UI的按钮,就像这样

$('button').button();
Run Code Online (Sandbox Code Playgroud)

但是,第一个按钮也会提交表单.我会想,如果它没有type="submit",它就不会.

显然我可以做到这一点

$('button[type!=submit]').click(function(event) { event.stopPropagation(); });
Run Code Online (Sandbox Code Playgroud)

但有没有办法可以阻止后退按钮提交表单而无需JavaScript干预?

说实话,我只使用了一个按钮,所以我可以使用jQuery UI来设置它.我试着调用button()链接,它没有按预期工作(看起来很丑!).

html javascript jquery jquery-ui button

475
推荐指数
6
解决办法
31万
查看次数

如何使用片段中的XML onClick处理按钮单击

Pre-Honeycomb(Android 3),每个Activity都已注册,可通过onClickLayout的XML中的标签处理按钮点击:

android:onClick="myClickMethod"
Run Code Online (Sandbox Code Playgroud)

在该方法中,您可以使用view.getId()和switch语句来执行按钮逻辑.

随着Honeycomb的推出,我将这些活动分解为碎片,可以在许多不同的活动中重复使用.按钮的大部分行为都是与Activity无关的,我希望代码驻留在Fragments文件中,而不使用OnClickListener为每个按钮注册的旧(pre 1.6)方法.

final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Perform action on click
    }
});
Run Code Online (Sandbox Code Playgroud)

问题是,当我的布局被夸大时,它仍然是接收按钮点击的托管活动,而不是单个碎片.对两者都有好的方法

  • 注册片段以接收按钮点击?
  • 将Click中的click事件传递给它们所属的片段?

xml android button android-fragments

425
推荐指数
8
解决办法
24万
查看次数

在Android中,如何以编程方式在dp中设置边距?

这个,这个这个线程我试图找到如何在单个视图上设置边距的答案.但是,我想知道是否有更简单的方法.我会解释为什么我宁愿不想使用这种方法:

我有一个自定义Button,扩展了Button.如果背景设置为默认背景以外的其他内容(通过调用setBackgroundResource(int id)setBackgroundDrawable(Drawable d)),我希望边距为0.如果我这样称呼:

public void setBackgroundToDefault() {
    backgroundIsDefault = true;
    super.setBackgroundResource(android.R.drawable.btn_default);
    // Set margins somehow
}
Run Code Online (Sandbox Code Playgroud)

我希望边距重置为-3dp(我已经在这里阅读如何从像素转换为dp,所以一旦我知道如何在px中设置边距,我就可以自己管理转换).但是因为这是在CustomButton类中调用的,所以父级可以从LinearLayout变为TableLayout,而我宁愿不让他得到他的父级并检查该父级的实例.我想,这也将是非常无形的.

另外,在调用时(使用LayoutParams)parentLayout.addView(myCustomButton, newParams),我不知道这是否将它添加到正确的位置(但是没有尝试过),比如一行五的中间按钮.

问题:除了使用LayoutParams之外,还有更简单的方法以编程方式设置单个按钮的边距吗?

编辑:我知道LayoutParams方式,但我想要一个避免处理每个不同容器类型的解决方案:

ViewGroup.LayoutParams p = this.getLayoutParams();
    if (p instanceof LinearLayout.LayoutParams) {
        LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)p;
        if (_default) lp.setMargins(mc.oml, mc.omt, mc.omr, mc.omb);
        else lp.setMargins(mc.ml, mc.mt, mc.mr, mc.mb);
        this.setLayoutParams(lp);
    }
    else if (p instanceof RelativeLayout.LayoutParams) {
        RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams)p;
        if (_default) lp.setMargins(mc.oml, …
Run Code Online (Sandbox Code Playgroud)

layout android margin button

376
推荐指数
14
解决办法
38万
查看次数

如何禁用Android按钮?

我创建了一个包含两个按钮的布局,Next和Previous.在按钮之间,我正在生成一些动态视图.因此,当我第一次启动应用程序时,我想禁用"上一页"按钮,因为之前没有任何视图.我还想在没有更多要显示的视图时禁用"下一步"按钮.无论如何禁用按钮?

屏幕截图的样本布局

layout android button

350
推荐指数
8
解决办法
46万
查看次数

在android中禁用后退按钮

如何在注销应用程序时禁用android中的后退按钮?

android button back onbackpressed

321
推荐指数
12
解决办法
32万
查看次数