javascript:void(0) & 刷新页面

本文探讨了如何利用<a href=javascript:void(0)>标签来避免点击时页面的整体刷新,这对于需要局部更新而非全页重载的情况非常有用,尤其是在Ajax应用中。
1 <a href="#" onclick="javascript:add();">
因为href="#"这个元素会让页面自动跳到顶端,这样页面会跳动一下,没有局部刷新那种体验
2将#去掉,剩下 href="",发现这样也不行,这个会使整个页面加载后还要再刷新一次。
3,<a href="javascript:void(0)">。

JavaScript中void(0)的含义:
JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。上面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
<a href=”javascript:void(0)”>单击此处什么也不会发生</a>
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。

<a href=”javascript:void(document.form.submit())”>,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新


另外一种写法:onclick=".... ;return false;" href="#"
package serv; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.RowMapper; import entity.Material; public class MaterialService extends BaseService { /** * 把一条材料信息加入到数据库中 */ public void addMr(String mtime,String mzno,String mpeople,String mname,String mquantity,double mmoney,String mno){ try { String sql = &quot;insert into Material(mtime,mzno,mpeople,mname,mquantity,mmoney,mno) VALUES(?,?,?,?,?,?,?)&quot;; jt.update(sql,mtime,mzno,mpeople,mname,mquantity,mmoney,mno); } catch (DataAccessException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } /** * 根据mno查询材料 */ public Material getmaterialBymno (String mno)throws DataAccessException{ Material material = null; try { String sql = &quot;select * from material where mno= ?&quot;; material = jt.queryForObject(sql,new MaterialRowMapper(), mno); } catch (DataAccessException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } return material; } /** *删除材料 -&gt;1 * @param sno * @throws DataAccessException */ public void deleteMaterial(String mno) throws DataAccessException{ String sql = &quot;delete from Material where mno=? &quot;; jt.update(sql,mno); } /** * 获取所有材料信息 */ public ArrayList&lt;Material&gt; getAllMaterial(String mtime){ ArrayList&lt;Material&gt; al = null; try { String sql = &quot;select * from material &quot;; al = (ArrayList&lt;Material&gt;)jt.query(sql,new MaterialRowMapper()); } catch (DataAccessException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } return al; } private class MaterialRowMapper implements RowMapper&lt;Material&gt; { public Material mapRow(ResultSet rs, int rownum) throws SQLException { Material material= new Material(); material.setMno(rs.getString(&quot;mno&quot;)); material.setMname(rs.getString(&quot;mname&quot;)); material.setMtime(rs.getString(&quot;mtime&quot;)); material.setMpeople(rs.getString(&quot;mpeople&quot;)); material.setMzno(rs.getString(&quot;mzno&quot;)); material.setMquantity(rs.getString(&quot;mquantity&quot;)); material.setMmoney(rs.getDouble(&quot;mmoney&quot;)); return material; } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值