Ajax表单提交submit和button的问题innerHTML显示不同
这问题困扰我许久了。在head标签中的函数functiontest(){//创建xmlHttp对象之后vartest=document.getElementById("t...
这问题困扰我许久了。
在head标签中的函数
function test(){
//创建xmlHttp对象之后
var test=document.getElementById("text").value
var url="server.asp?test="+test
xmlHttp.onreadystatechange=function (){
if (xmlHttp.readyState==4 && xmlHttp.status==200){
document.getElementById("content").innerHTML=xmlHttp.responseText
//将服务器传回来的值写入<div>标签
}}
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
在body标签中提交表单
<form onsubmit="test()">
<input type="text" id="text"><input type="submit" value="提交">
</form>
<div id="content"></div>
实测在IE浏览器中,点击提交按钮或回车之后<div>中什么也不显示,好像test函数没有执行一样,奇怪的是,在document.getElementById("content").innerHTML=xmlHttp.responseText前加一句alert(xmlHttp.responseText)就可以显示了,同时弹出窗口,关闭弹出窗口后<div>中的内容又同时消失了。
但是将表单中的提交按钮换成普通按钮写成这样:
<form>
<input type="text" id="text"><input type="button" value="提交" onclick="test()">
</form>
<div id="content"></div>
就没有任何问题,<div>中可以显示服务器传回的值。为何用submit提交表单就会不正常?而用button按钮就没问题?想用submit提交是因为文本框输入的同时submit按钮获得了焦点,输入完回车就可以提交表单了,而普通按钮button不会获得焦点,输完还得用鼠标点一下才能提交。 展开
在head标签中的函数
function test(){
//创建xmlHttp对象之后
var test=document.getElementById("text").value
var url="server.asp?test="+test
xmlHttp.onreadystatechange=function (){
if (xmlHttp.readyState==4 && xmlHttp.status==200){
document.getElementById("content").innerHTML=xmlHttp.responseText
//将服务器传回来的值写入<div>标签
}}
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
在body标签中提交表单
<form onsubmit="test()">
<input type="text" id="text"><input type="submit" value="提交">
</form>
<div id="content"></div>
实测在IE浏览器中,点击提交按钮或回车之后<div>中什么也不显示,好像test函数没有执行一样,奇怪的是,在document.getElementById("content").innerHTML=xmlHttp.responseText前加一句alert(xmlHttp.responseText)就可以显示了,同时弹出窗口,关闭弹出窗口后<div>中的内容又同时消失了。
但是将表单中的提交按钮换成普通按钮写成这样:
<form>
<input type="text" id="text"><input type="button" value="提交" onclick="test()">
</form>
<div id="content"></div>
就没有任何问题,<div>中可以显示服务器传回的值。为何用submit提交表单就会不正常?而用button按钮就没问题?想用submit提交是因为文本框输入的同时submit按钮获得了焦点,输入完回车就可以提交表单了,而普通按钮button不会获得焦点,输完还得用鼠标点一下才能提交。 展开
3个回答
展开全部
submit 刷新界面
如果用button的话,只要在代码里写一个让button得到焦点的代码不就行了吗,这个代码很简单,百度一下网页学习一下。
如果用button的话,只要在代码里写一个让button得到焦点的代码不就行了吗,这个代码很简单,百度一下网页学习一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种细节性的东西真的比较难判断,尤其是跟服务器端交互的时候parameters的介入,经常出现问题,submit
就是一个parameters,但是具体的问题我不知道
不过我有个好的方法,就是你的前端使用jquery,它改善了
因为浏览器的不同而产程bug的缺点,多积累经验吧
就是一个parameters,但是具体的问题我不知道
不过我有个好的方法,就是你的前端使用jquery,它改善了
因为浏览器的不同而产程bug的缺点,多积累经验吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询