js阻止页面刷新

JavaScript010

js阻止页面刷新,第1张

网页中用户的表单填写到一半,或者ajax请求发送期间,如果用户刷新浏览器可能会导致数据保存失败。需要阻止页面刷新,这时可以通过监听页面window.onbeforeunload事件函数来处理。

window.onbeforeunload = function(e) {

var dialogText = 'Dialog text here'

e.returnValue = dialogText

return dialogText

}

不过chrome不支持自定义显示文字,固定为

“要重新加载该网站吗?

系统可能不会保存您所做的修改”

而firefox和safari就会正常使用return value里面的文字

参考:

-- https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#Browser_compatibility

“无刷新页面”,只是一种不确切的效果描述(其实还有其他各种方法来实现这个效果),更确切的说是在页面上用JavaScript调用服务器端的一个方法,然后处理返回的数据。实现它最标准的方法当然是XMLHTTP。

ASP.NET 2.0里面,我们可以轻松的来做到这点了。服务器端任何实现了System.Web.UI.ICallbackEventHandler接口的控件,都可以通过RaiseCallbackEvent()方法来处理从页面上的JS脚本传递过来的请求和数据,处理后,再将结果传回给页面。这项能力的底层仍然是XMLHTTP。

ClientScript属性的作用是,它调用了页面的GetCallbackEventReference()方法,获得了让客户端有能力调用服务器端方法的JS脚本,并输出到页面的callToServer()方法中,这样,点击页面按钮时,就开始执行页面上包含了调用服务器方法的的callToServer()方法。

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题</title>

<script type="text/javascript">

function sum(obj) {

var z = document.getElementById("z")

var a = document.getElementById("a")

var b = document.getElementById("b")

var c = document.getElementById("c")

all.value=parseInt(z.value)

if(a.value!='')

{

y.value=parseInt(a.value)

h.value=parseInt(z.value)-parseInt(a.value)

}

if(a.value!=''&&b.value!='')

{

y.value=parseInt(b.value)+parseInt(a.value)

h.value=parseInt(z.value)-parseInt(a.value)-parseInt(b.value)

}

if(a.value!=''&&b.value!=''&&c.value!='')

{

y.value=parseInt(b.value)+parseInt(a.value)+parseInt(c.value)

h.value=parseInt(z.value)-parseInt(a.value)-parseInt(b.value)-parseInt(c.value)

}

}

</script>

</head>

<body>

总分:<input type="text" id="z" οnkeyup="sum(this)" />

<input type="text" id="a" οnkeyup="sum(this)" />

<input type="text" id="b" οnkeyup="sum(this)" />

<input type="text" id="c" οnkeyup="sum(this)" />

总分:<input type='text' id='all' style="border:0px solid whitewidth:25px" />

已选:<input type='text' id='y' style="border:0px solid whitewidth:25px" />

还剩:<input type='text' id='h' style="border:0px solid whitewidth:25px" />

</body>

</html>

扩展资料

js实现input的赋值

<input  id="name1"  name="teacherName" type="text"  />

$('#name1').val('值')

document.getElementById('name1').value='值'

document.getElementById('name1').html('值')

document.getElementById('name1').attr('值')

document.getElementById('name1').innerText = '值'

<input class="easyui-textbox"  id="name"  name="teacherName" type="text"  />

$('#name').textbox('setValue','值')

var val = $("#name").textbox('getValue')