HTML问题解决方案-Buttn点击后刷新页面的解决方法

本文探讨了在网页开发中,点击按钮导致页面刷新的问题及解决方案。提供了三种方法:一是为button元素添加type='button'属性;二是使用input标签替代button;三是采用a标签作为按钮。这些方法有效避免了因默认submit行为引起的页面刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Buttn点击后刷新页面的解决方法


背景:

今天在编写一个新增页面的时候点击新增按钮 页面整个刷新了
因为添加了校验虽然有校验效果
但点击新增按钮后整个页面刷新 校验提示也被刷没了

错误代码:

  <button class='my_btn' onclick="fu_name()">新增</button>
  // 点击后刷新button所在的页面

解决方法:

方法一: 添加属性 type='button'

  <button type='button' class='my_btn my_btn_sure' onclick="save()">新增</button>
  // 原因: IE浏览器中type默认值为button  但其他的浏览器默认值为submit
  // 推荐:type属性一要指定值 (很多人会省略 包括我~~~~  长记性了))
  

方法二: 使用input代替button标签

  <input type="button" class="my_btn my_btn_sure" onclick="save()" value="确定">
  // 表单里面有时候是这么写的- -

方法三: 使用a代替button标签

  <a class='my_btn' onclick="save()">新增</a>
  // 经常用a标签做按钮来着- -

第一个方法是解决button标签本身点击刷新的问题
后两个方法是标签替代方案达到按钮同样效果

TYPE-POOLS : slis. "调用类型池 SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE v_text. SELECTION-SCREEN PUSHBUTTON /10(3) push1 USER-COMMAND push1. SELECTION-SCREEN PUSHBUTTON 14(3) push2 USER-COMMAND push2. SELECTION-SCREEN PUSHBUTTON 18(3) push3 USER-COMMAND push3. SELECTION-SCREEN PUSHBUTTON 22(3) push4 USER-COMMAND push4. SELECTION-SCREEN PUSHBUTTON /10(3) push5 USER-COMMAND push5. SELECTION-SCREEN PUSHBUTTON 14(3) push6 USER-COMMAND push6. SELECTION-SCREEN PUSHBUTTON 18(3) push7 USER-COMMAND push7. SELECTION-SCREEN PUSHBUTTON 22(3) push8 USER-COMMAND push8. SELECTION-SCREEN PUSHBUTTON /10(3) push9 USER-COMMAND push9. SELECTION-SCREEN PUSHBUTTON 14(3) push10 USER-COMMAND push10. SELECTION-SCREEN PUSHBUTTON 18(3) push11 USER-COMMAND push11. SELECTION-SCREEN PUSHBUTTON 22(3) push12 USER-COMMAND push12. SELECTION-SCREEN PUSHBUTTON /10(3) push13 USER-COMMAND push13. SELECTION-SCREEN PUSHBUTTON 14(3) push14 USER-COMMAND push14. SELECTION-SCREEN PUSHBUTTON 18(3) push15 USER-COMMAND push15. SELECTION-SCREEN PUSHBUTTON 22(3) push16 USER-COMMAND push16. SELECTION-SCREEN END OF BLOCK b1. SELECTION-SCREEN PUSHBUTTON /10(10) start USER-COMMAND start. SELECTION-SCREEN PUSHBUTTON 25(10) exit USER-COMMAND exit. TYPES: BEGIN OF coord, x TYPE i, y TYPE i, END OF coord. *----------------------------------------------------------------------* * CLASS BUTTN DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS buttn DEFINITION. PUBLIC SECTION. CLASS-DATA: flag TYPE char3 VALUE 'Z' READ-ONLY. CLASS-METHODS: c_isswap IMPORTING but1 TYPE REF TO buttn but2 TYPE REF TO buttn RETURNING VALUE(r_che) TYPE char1, c_swap IMPORTING but1 TYPE REF TO buttn but2 TYPE REF TO buttn. "构造函数,名称固定CONSTRUCTOR METHODS: constructor IMPORTING i_id TYPE i i_name TYPE fieldname i_ucomm TYPE sy-ucomm i_icon TYPE char3 i_x TYPE i i_y TYPE i, show_icon, get_id RETURNING VALUE(r_id) TYPE char10, get_icon RETURNING VALUE(r_icon) TYPE char3, set_icon IMPORTING i_icon TYPE char3, set_icon2 IMPORTING i_icon2 TYPE char3, get_ucomm RETURNING VALUE(r_ucomm) TYPE sy-ucomm, get_name RETURNING VALUE(r_name) TYPE fieldname, get_coord0 RETURNING VALUE(r_coord0) TYPE coord, swap IMPORTING i_btn TYPE REF TO buttn RETURNING VALUE(r_result) TYPE char1, che_sort RETURNING VALUE(r_che) TYPE char1, get_nearcoord IMPORTING i_coord TYPE coord RETURNING VALUE(r_coord0) TYPE coord, * GET_NEARCOORD EXPORTING IT_TAB TYPE REF TO DATA. che_coord IMPORTING i_coord TYPE coord RETURNING VALUE(r_che) TYPE char1. PRIVATE SECTION. DATA id TYPE i. DATA name TYPE fieldname. DATA ucomm TYPE sy-ucomm. DATA icon TYPE char3. DATA icon2 TYPE char3. DATA coord0 TYPE coord. ENDCLASS. "buttn1 DEFINITION *----------------------------------------------------------------------* * CLASS buttn1 IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS buttn IMPLEMENTATION. METHOD constructor. id = i_id. name = i_name. ucomm = i_ucomm. icon = i_icon. coord0-x = i_x. coord0-y = i_y. CONDENSE: name, ucomm, icon. ENDMETHOD. "set_value METHOD show_icon. FIELD-SYMBOLS <fs> TYPE any. ASSIGN (name) TO <fs>. <fs> = icon. ENDMETHOD. "SHOW_ICON METHOD get_id. r_id = id. ENDMETHOD. "get_icon METHOD set_icon. icon = i_icon. CONDENSE icon. ENDMETHOD. "SET_ICON METHOD set_icon2. icon2 = i_icon2. CONDENSE icon2. ENDMETHOD. "SET_ICON2 METHOD get_icon. r_icon = icon. ENDMETHOD. "get_icon METHOD get_ucomm. r_ucomm = ucomm. ENDMETHOD. "get_ucomm METHOD get_name. r_name = name. ENDMETHOD. "GET_NAME METHOD get_coord0. r_coord0 = coord0. ENDMETHOD. "get_coord0 METHOD swap. DATA coord2 TYPE coord. coord2 = i_btn->get_coord0( ). DATA l_tmp TYPE i. IF coord2-x = me->coord0-x. l_tmp = coord2-y - me->coord0-y. ELSEIF coord2-y = me->coord0-y. l_tmp = coord2-x - me->coord0-x. ELSE. r_result = ''. "不可交换 RETURN. ENDIF. IF l_tmp = 1 OR l_tmp = -1. r_result = 'X'. "结果为可交换 ELSE. r_result = ''. "不可交换 RETURN. "退出METHOD模块 ENDIF. DATA l_icon TYPE char3. l_icon = i_btn->get_icon( ). CONDENSE: l_icon, me->icon. i_btn->set_icon( me->icon ). me->icon = l_icon. ENDMETHOD. "SWAP_BTN METHOD che_sort. CONDENSE: me->icon, me->icon2. IF me->icon = me->icon2. r_che = 'X'. ELSE. r_che = ''. ENDIF. ENDMETHOD. 这段代码为什么从9个按钮改为了16个按钮后,运行报错 <fs> = icon.字段符号尚未分配
最新发布
07-04
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值