AJAX无刷新提交表单的方法

HTML表单元素中的form即表单是常用来提交用户数据的元素之一。通过AJAX技术可以友好的对用户请求进行反馈。无须刷新页面这是人尽皆知的事情了。

但表单事件中有一个另类,即onsubmit,这个事件之所以另类,是因为它在提交完以后,会自动刷新当前页面,使AJAX结果失效。这会让人困惑,以为AJAX反回失败。

e.g.

<html>

<head>

 

<script type="text/javascript">

<!--

function loadXML(url)

{

var xmlhttp;

if (window.XMLHttpRequest)

  {// code for IE7+, Firefox, Chrome, Opera, Safari

  xmlhttp=new XMLHttpRequest();

  }

else

  {// code for IE6, IE5

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

    {

    document.getElementById("mydiv").innerHTML=xmlhttp.responseText;

    }

  };

xmlhttp.open("GET","ajax.php?id="+url,true);

xmlhttp.send(null);

return false;

}

//-->

</script>

</head>

 

<body>

<form name="fm"  οnsubmit="loadXML(fm.txt.value);">

<input type="text" name="txt" value="input"></input>

<input type="submit" name="sub" value="submit"></input>

</form>

<div id="mydiv"></div>

</body>

</html>

返回结果为空,div中的数据只在调试中变化了一下,高度结束自动刷新,AJAX结果就消失了。

如果一定要用submit,只需要将onsubmit替换为action

<form name="fm"  action="javascript:loadXML(fm.txt.value);">

即可submit表单,也不用刷新页面了。这时候页面就显示正常的AJAX信息了。

Ajax刷新提交表单是通过使用JavaScriptAjax技术,将表单数据异步发送给服务器进行处理,而无需刷新整个页面。 首先,我们需要创建一个表单,并为表单添加一个提交事件的监听器。在提交事件发生时,阻止表单的默认提交行为。 然后,使用JavaScript中的FormData对象获取表单中的数据。我们可以通过FormData的append方法表单元素的值添加到FormData对象中。 接下来,创建一个XMLHttpRequest对象,并使用该对象向服务器发送请求。我们可以使用open方法来指定请求的类型、URL和是否异步。然后,为XMLHttpRequest对象添加一个onreadystatechange事件的监听器,以便在服务器响应返回时进行处理。 在服务器响应返回后,我们可以通过XMLHttpRequest对象的readyState和status属性来判断服务器的响应状态。当readyState为4且status为200时,表示服务器响应成功。 如果服务器返回的数据需要展示在页面上,我们可以使用responseText或responseXML属性来获取服务器返回的内容。 最后,我们可以根据服务器返回的结果,动态更新页面的内容,而无需刷新整个页面。可以使用JavaScript来修改DOM元素的内容或样式。 总结起来,Ajax刷新提交表单使得我们能够将表单数据异步发送给服务器,而无需刷新整个页面。这种技术可以提高用户体验,并有效减少页面刷新的次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值