首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当按钮在表单元素之外时,bowserHistory.push不工作

当按钮在表单元素之外时,browserHistory.push不工作的原因是,browserHistory.push是React Router库中的一个方法,用于在应用程序中进行页面导航。它通过修改浏览器的历史记录来实现页面跳转。

然而,当按钮位于表单元素之外时,可能存在以下几种情况导致browserHistory.push不起作用:

  1. 按钮的点击事件未正确绑定:确保按钮的点击事件已正确绑定到调用browserHistory.push的函数上。可以通过在按钮的onClick属性中指定相应的处理函数来实现。
  2. 表单元素的默认提交行为:如果按钮位于一个表单元素内部,并且该表单元素具有默认的提交行为(例如,按下回车键或点击按钮会触发表单的提交),则可能会导致browserHistory.push无法正常工作。这是因为表单的默认提交行为会刷新页面,而不是执行browserHistory.push导航操作。为了解决这个问题,可以在表单元素的onSubmit事件中阻止默认的提交行为,或者将按钮移出表单元素。
  3. browserHistory未正确配置:在使用browserHistory.push之前,需要确保已正确配置browserHistory。在React Router v4及以上版本中,可以使用BrowserRouter组件来包裹应用程序的根组件,并将browserHistory作为其属性传递给BrowserRouter。例如:
代码语言:javascript
复制
import { BrowserRouter } from 'react-router-dom';
import { createBrowserHistory } from 'history';

const history = createBrowserHistory();

ReactDOM.render(
  <BrowserRouter history={history}>
    <App />
  </BrowserRouter>,
  document.getElementById('root')
);
  1. 路由配置错误:如果browserHistory.push仍然不起作用,可能是由于路由配置错误导致的。请确保路由配置正确,并且目标路径在路由配置中存在。

总结起来,当按钮在表单元素之外时,browserHistory.push不工作可能是因为按钮的点击事件未正确绑定、表单元素的默认提交行为、browserHistory未正确配置或路由配置错误。需要仔细检查代码,确保以上问题都得到正确处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript 表单处理

一.表单介绍 HTML中,表单是由元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型。...重置表单 用户点击重置按钮表单会被初始化。虽然这个按钮还得以保留,但目前的Web已经很少去使用了。因为用户已经填写好各种数据,不小心点了重置就会全部清空,用户体验极差。...共有的表单字段属性 除了元素之外,所有表单字段都拥有相同的一组属性。由于类型可以表示多种表单字段,因此有些属性只适用于某些字段。...共有的表单字段事件 表单共有的字段事件有以下三种: 事件名 说明 blur 字段失去焦点触发 change 对于和元素改变value并失去焦点触发;对于元素改变选项触发 focus 当前字段获取焦点触发 addEvent(textField, 'focus', function () {//缓存blur和change再测试一下 alert(

4.8K101

CSS3选择器大全

就拿form元素来说,比如说你想给表单中除submit按钮之外的input元素添加红色边框,CSS代码可以写成: input:not([type="submit"]){ border:1px solid...经验与技巧:“:nth-child(n)”选择器中的n为一个表达式,其中n是从0开始计算,表达式的值为0或小于0的时候,选择任何匹配的元素。...10.CSS3选择器 :enabled和:disabled选择器 Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等。...默认情况之下,这些表单元素都处在可用状态。那么我们可以通过伪选择器:enabled对这些表单元素设置样式。 :disabled选择器刚好与:enabled选择器相反,用来选择不可用表单元素。...要正常使用:disabled选择器,需要在表单元素的HTML中设置“disabled”属性。 11.CSS3选择器 :checked选择器 表单元素中,单选按钮和复选按钮都具有选中和未选中状态。

70410
  • 表单

    1)创建表单后,就可以表单中放置控件以接受用户的输入       2)这些控件通常放在标签之间,也可以表单之外用来创建用户界面       3)不同的表单控件有不同的用途...输入类型为radio或CheckBox使用此属性 文本框   用于输入单行文本信息将表单元素type设为text就可以了 密码框   ...设置了type属性后密码框输入的字符全都是以黑色实心的来显示,从而实现对数据的处理 单选按钮   用户只能选中一个单选按钮使用单选按钮,需要一个显示的...email提交表单自动验证如果不是一个有效的邮箱地址则用户不允许提交订单 url   用于输入URL地址这类的特殊文本的文本框提交表单如果输入不是...网站服务器方希望用户修改数据,这些数据表单元素中显示。

    4.7K90

    前端无障碍开发指南

    空链接和空按钮,指包含包含实际的文本的标签或 标签。这些标签只包含一个图像或一个文本的图像,会导致使用 ATs 设备的用户无法感知可交互元素的实际用途。 4....但我们开发往往会忽略 HTML 元素的实际语意,而更多采用无语意的 和 标签 ( 和 之外的近 104 个 HTML 标签都具有语义信息)。...采用 为表单项分类 表单分为不同板块,我们可能会使用 元素实现表单项的样式板块划分,但这样的划分并不利于无障碍设备获得表单项信息,可以使用进行替换...这样的设计会导致 input 得到焦点,placeholder 自动消失,造成用户无法感知当前表单项的内容。...尽可能使用原生的表单元素 制作表单组件,我们往往会出于实现 UI 样式的要求,采用 替代原生的表单元素

    94120

    提升用户产品体验的40个产品设计规范

    4 客户的评价好过自吹自擂 获得项目机会或提高项目转化率客户的好评是一种极为有效的手段。潜在客户看到其他人对你的服务给予好评,项目机会会大增。...但页面足够长的时候这些重复就显示自然多了并且也不显得拥挤。所在在页面顶部放一个按钮然后页面底部再适当放个突出的按钮的做法没有什么不妥。...但千万不要把这三种元素设计得混乱不堪。 ? 7 给出推荐而不是让用户来选择 展示许多项服务,给出一个重磅的推荐项是个不错的做法,尽管推荐的设置无法满足所有用户。...19 让操作直观而不是让人觉得找不到上下文 不用说直接在元素身上进行操作是更直观明了的方式。比如在一个列表中,我们想让用户对每个条目进行操作那么就把按钮放到当前条目上,而不要把放到列表之外。...将功能相近的元素放在一起也符合逻辑,符合我们平时的认知。 ? 33 使用内联的验证消息而不是提交后再验证 处理表单,最好立即检测出用户所填写内容是否符合要求然后给出验证消息。

    1.4K54

    好的用户界面-界面设计的一些技巧

    4 客户的评价好过自吹自擂 获得项目机会或提高项目转化率客户的好评是一种极为有效的手段。潜在客户看到其他人对你的服务给予好评,项目机会会大增。...但页面足够长的时候这些重复就显示自然多了并且也不显得拥挤。所在在页面顶部放一个按钮然后页面底部再适当放个突出的按钮的做法没有什么不妥。...但千万不要把这三种元素设计得混乱不堪。 ? 7 给出推荐而不是让用户来选择 展示许多项服务,给出一个重磅的推荐项是个不错的做法,尽管推荐的设置无法满足所有用户。...19 让操作直观而不是让人觉得找不到上下文 不用说直接在元素身上进行操作是更直观明了的方式。比如在一个列表中,我们想让用户对每个条目进行操作那么就把按钮放到当前条目上,而不要把放到列表之外。...将功能相近的元素放在一起也符合逻辑,符合我们平时的认知。 ? 33 使用内联的验证消息而不是提交后再验证 处理表单,最好立即检测出用户所填写内容是否符合要求然后给出验证消息。

    76130

    Zepto源码分析之form模块

    原文链接 github项目地址 表单相关回顾 开始学些form模块相关方法前,我们先来回顾一下表单提交,浏览器是怎么样将数据发送给服务器的(以下内容摘自《JavaScript高级程序设计》第14...(也就是属性disabled为true的) 只发送勾选的复选框和单选按钮 不发送type为reset和button的按钮 多选选择框中每个选择的值单独一个条目 单击提交按钮表单的情况下,也会发送提交按钮的...表单序列化得过程中,一般包含任何按钮字段,因为结果字符串很可能是通过其他方式提交的,除此之外其他规则都应该遵循。...首先通过this[0]判断有未选中表单元素,如果没有返回的结果就是一个空数组了。如果选中了,则对该表单的相关控件(form.elements表示表单中所有控件的集合)进行遍历。...submit 有两种用法,传入了一个回调函数的时候,是给指定的表单的submit事件添加一个回调处理函数。

    1.4K10

    Zepto源码分析之form模块

    表单相关回顾 开始学些form模块相关方法前,我们先来回顾一下表单提交,浏览器是怎么样将数据发送给服务器的(以下内容摘自《JavaScript高级程序设计》第14章 14.4节 表单序列化)...(也就是属性disabled为true的) 只发送勾选的复选框和单选按钮 不发送type为reset和button的按钮 多选选择框中每个选择的值单独一个条目 单击提交按钮表单的情况下,也会发送提交按钮的...表单序列化得过程中,一般包含任何按钮字段,因为结果字符串很可能是通过其他方式提交的,除此之外其他规则都应该遵循。...首先通过this[0]判断有未选中表单元素,如果没有返回的结果就是一个空数组了。如果选中了,则对该表单的相关控件(form.elements表示表单中所有控件的集合)进行遍历。...submit 有两种用法,传入了一个回调函数的时候,是给指定的表单的submit事件添加一个回调处理函数。

    2K100

    如何用自己喜欢的 CSS 风格重置网站的样式

    一些人喜欢 Normalize.css 中添加一些自己偏好的样式,我也一样。 本文中,我会与你分享我自己的 CSS reset 项(除了 Normalize.css 之外我还使用它们)。...我将 reset 项分为8类: 盒子大小 删除边距和填充 列表 表格和按钮 媒体元素 表格 隐藏属性 Noscript 调整盒子大小 box-sizing 属性改变了 CSS 盒子模型的工作方式。...1/* Removes discs from ul */ 2ul { 3 list-style: none; 4} 表单按钮 浏览器不会继承表单按钮的排版。...(当用户点击按钮中的某些内容,他们点击的内容是 event.target ,而不是按钮。如果按钮内有 HTML 元素,这种风格可以更轻松地处理 click 事件)。...这是我的默认样式: 1table { 2 table-layout: fixed; 3 width: 100%; 4} 元素具有 hidden 属性,应该从视图中隐藏它们。

    1.4K30

    最新iOS设计规范四|3大界面要素:视图(Views)

    提供“取消”按钮,使人们可以重新考虑破坏性操作。“取消”按钮应出现在动作表单的底部。 突出显示破坏性选择。将红色用于执行破坏性或危险操作的按钮,并将这些按钮显示动作表单的顶部。 避免让操作表滚动。...如果传达的含义足够清晰明确,可以使用“关闭”按钮(例如“取消”或“完成”),例如退出是否保存更改。若无存在的必要,弹出窗口应自动关闭。当用户点击浮层之外的区域或浮层中的关闭/取消按钮,浮层应该关闭。...确保有意义的前提下,支持用户通过缩放或双击进行缩放。滚动视图的缩放选项被打开,设置比较合适的最大及最小值。...滚动视图处于页面模式考虑显示页面控制元素。页面元素通常会显示有多少页面,多少屏,或者多少数量的内容是当前可用及可见的。...避免将索引与包含右对齐元素表单结合在一起。索引一般通过大的滑动手势来控制的。如果附近存在其他交互元素,例如显示指示器,则在出现手势很难辨别用户的意图,并且可能会激活错误的元素

    8.4K31

    前端基础(HTML,CSS,JavaScript)知识笔记,附:前端基础面试题!!

    元素失去焦点触发 onchange,元素的值被改变触发 onfocus,元素获得焦点触发 onreset,表单中的重置按钮被点击触发 onselect,元素中文本被选中后触发...onsubmit,提交表单触发 keyboard 键盘事件: onkeydown,在用户按下按键触发 onkeypress,在用户按下按键后,按着按键触发。...(该属性不会对所有按键生效,生效的有:alt,ctrl,shift,esc) mouse 鼠标事件: onclick,当在元素上发生鼠标点击触发 onblclick,当在元素上发生鼠标双击触发...onmousedown,元素上按下鼠标按钮触发 onmousemove,当鼠标指针移动到元素触发 onmouseout,元素指针移出元素触发 onmouseup,元素上释放鼠标按钮触发...reset 重置按钮(点击按钮,会触发form表单的reset事件) submit 提交按钮(点击按钮,会吃饭form表单的submit事件) email 专门用于输入 e-mail url 专门用于输入

    2.3K20

    html基础

    标签位于文档的头部,包含任何内容。...表单一般用来收集用户的输入信息 表单工作原理: 访问者浏览有表单的网页,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。 ...表单处理程序表单的 action 属性中指定: --------------------------------------------- Action 属性 action 属性定义提交表单执行的动作...您能够使用 GET(默认方法): 如果表单提交是被动的(比如搜索引擎查询),并且没有敏感信息。 您使用 GET 表单数据页面地址栏中是可见的: action_page.php?...novalidate 规定浏览器验证表单。 target 规定 action 属性中地址的目标(默认:_self)。

    2K20

    表单

    表单的目的是为了跟用户进行交互,收集用户资料  HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。...表单控件: 包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。 提示信息: 一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。...除了type属性之外,标签还可以定义很多其他的属性 ? label标签(理解) label 标签为 input 元素定义标注(标签)。...作用: 用于绑定一个表单元素, 点击label标签的时候, 被绑定的表单元素就会获得输入焦点 如何绑定元素呢? for 属性规定 label 与哪个表单元素绑定。...option 中定义selected =" selected ",当前项即为默认选中项。

    1.9K20

    对话框、模态框和弹出框看起来很相似,它们有何不同?

    作为一名长期合同工,我经常改变工作环境——当我不同的团队、公司、国家工作,措辞都会不同。词语的含义会随着时间而改变,整个世界都是这样……这很正常!...实现方面,你需要使除了模态元素之外的一切无效化。元素(与 showModal()一起使用)可以实现,并是最好的选择。...如果有许多要关闭的东西,比如嵌套组件,则需要多次按下 Escape 键,以便从最内层到最外层的元素逐步关闭组件。 内容可以折叠,键盘用户应该能够使用与鼠标用户点击折叠内容的按钮相同的按钮。...图片非模态对话框:这个聊天小部件打开,我仍然可以访问下面的表单和内容。...模态对话框打开,键盘焦点应该移动到默认操作。如果存在表单,很可能是第一个表单字段。

    3.6K00

    一些关于界面设计的技巧

    4 客户的评价好过自吹自擂 获得项目机会或提高项目转化率客户的好评是一种极为有效的手段。潜在客户看到其他人对你的服务给予好评,项目机会会大增。...但页面足够长的时候这些重复就显示自然多了并且也不显得拥挤。所在在页面顶部放一个按钮然后页面底部再适当放个突出的按钮的做法没有什么不妥。...19 让操作直观而不是让人觉得找不到上下文  不用说直接在元素身上进行操作是更直观明了的方式。比如在一个列表中,我们想让用户对每个条目进行操作那么就把按钮放到当前条目上,而不要把放到列表之外。...它真的工作吗? 我点击成功了吗? 按钮真的按下吗? 我应该再试一次吗? 反馈回答所有这些问题。 这是任何成功互动的非常宝贵和必要的元素。 ?...63 元素额外填充,而不要过分拥挤 空白可以使内容和/或数据更加可读。 元件与每个元件稍微分开,它们开始被允许单独感知。 这对于列表,表,段落或屏幕上的任何元素集都是很好的。

    1K30

    文档和元素的几何滚动

    文档和元素的几何滚动 浏览器在窗口中渲染文档,它将会创建文档一个视觉表现层,在哪里每个元素都有自己的位置和尺寸。通常web应用程序将文档看做元素的树。...(); 一些元素如下 type 标识表单元素类型的只读字符串 form 对包含元素的form对象的只读引用 name 只读字符串 value 可读/写字符串,指定表单元素包含或代表的值,它是提交表单发送到...表单每发生一个改变的时候,都会触发一个事件,从而可以通过事件调用回调函数。 一般来说,按钮表单元素激活(甚至当通过键盘而不是鼠标)都会触发click事件。...表单元素收到键盘的焦点也会触发focus事件。...onclick事件处理程序能概念化为跟随此链接用一个链接,否则用按钮。 提交和重置元素本就是按钮,不同的是它们有与之相关联的默认动作。 即,按钮和超链接类似,都具有共同的作用。

    5.2K00

    HTML5标签2

    表格结构(了解) 使用表格进行布局,可以将表格划分为头部、主体和页脚(页脚因为有兼容性问题,我们不在赘述),具体 如下所示: ​ :用于定义表格的头部。 ​...HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。 ?...表单控件: 包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。 提示信息: 一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。...作用: 用于绑定一个表单元素, 点击label标签的时候, 被绑定的表单元素就会获得输入焦点 如何绑定元素呢? for 属性规定 label 与哪个表单元素绑定。...option 中定义selected =" selected ",当前项即为默认选中项。

    2.5K40

    终于等到你,新的虚拟键盘API 即将到来,快来先睹为快吧!

    开篇 你是否遇到过一个问题,即在移动设备上有一个固定元素键盘激活,该元素会被键盘遮挡?这已经是多年来网络上的默认行为了。...输入框处于活动状态,结账按钮将位于虚拟键盘下方,因此被隐藏起来。 我们可以轻松地通过虚拟键盘API来解决这个问题。...浮动操作按钮 在这个例子中,我们有一个浮动操作按钮,它位于页面的右下角。 键盘激活,浮动按钮应该移动到键盘上方。就像第一个例子中一样,浮动按钮将位于键盘下方。...Post Form 发布表单 默认状态下,表单与底部相距 48px 。在这种状态下, max() 函数的第二部分是活动的。...键盘激活,我们将导航移动到键盘下方。这里的 100px 是一个随机数,重点是添加一个比导航高度更大的元素。 这是一个演示它如何工作的视频: 结束 这就是本文的全部内容。

    34020

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券