根据列表框的改变图象动态变化的AJAX实现例子
2007-11-17 21:30
561 查看
在做留言本的过程中,在注册的时候因为用到了随机生成动态验证码,所以在下面一个用户选择图象的过程中,就会有刷新一次验证码,很是麻烦,就想到了用AJAX实现局部刷新。(其实用javascript就一句话就可以实现)
<form name="form1" method="post">
<select name=select1 class="INPUT" onchange="showimage()">
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
</select>
</form>
<img src="online/pic/1.gif" name="abc" align="absmiddle">
<script>function showimage(){document.images.abc.src="online/pic/"+document.form1.select1.options[document.form1.select1.selectedIndex].value+".gif";}</script>
下面是AJAX实现的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type ="text/javascript">
var xmlhttp;
var result="";
function createXmlHttpRequest()
{
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(E)
{
xmlhttp=false;
}
}
if(!xmlhttp&&typeof XMLHttpRequest!='undefined')
{
try
{
xmlhttp=new XMLHttpRequest();
}
catch(_e)
{
xmlhttp=false;
}
}
}
//发送异步请求,这个是传送文本格式时候用的
function sendTextHttp(imgurl)
{
createXmlHttpRequest();
url="Handler.ashx?imgurl="+imgurl;
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function(){callback()};
xmlhttp.send(null);
}
//回调函数
function callback()
{
if(xmlhttp.readyState==4)
if(xmlhttp.status==200)
{
result=xmlhttp.responseText;
document.images.img1.src=result;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="Select1" style="width: 104px; height: 47px" onchange="sendTextHttp(this.value)">
<option value="01">图片1</option>
<option value="02">图片2</option>
<option value="03">图片3</option>
<option value="04">图片4</option>
<option value="05">图片5</option>
</select>
<img src="image/Icon_01.gif" style="width: 32px; height:32px" alt="图像" id="img1"/></div>
</form>
</body>
</html>
这里是handler.ashx服务器的处理文件
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/plain";
string aa = context.Request.QueryString["imgurl"];
if (aa != null)
{
string returnImageUrl = @"image/Icon_" + context.Request.QueryString["imgurl"] + ".gif";
context.Response.Write(returnImageUrl);
}
}
public bool IsReusable {
get {
return false;
}
}
}
总算把这个给实现了,花了好久的时间。JAVASCRIPT如果出了什么错误真的很难发现的,大家小心点!!
<form name="form1" method="post">
<select name=select1 class="INPUT" onchange="showimage()">
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
</select>
</form>
<img src="online/pic/1.gif" name="abc" align="absmiddle">
<script>function showimage(){document.images.abc.src="online/pic/"+document.form1.select1.options[document.form1.select1.selectedIndex].value+".gif";}</script>
下面是AJAX实现的
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type ="text/javascript">
var xmlhttp;
var result="";
function createXmlHttpRequest()
{
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(E)
{
xmlhttp=false;
}
}
if(!xmlhttp&&typeof XMLHttpRequest!='undefined')
{
try
{
xmlhttp=new XMLHttpRequest();
}
catch(_e)
{
xmlhttp=false;
}
}
}
//发送异步请求,这个是传送文本格式时候用的
function sendTextHttp(imgurl)
{
createXmlHttpRequest();
url="Handler.ashx?imgurl="+imgurl;
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function(){callback()};
xmlhttp.send(null);
}
//回调函数
function callback()
{
if(xmlhttp.readyState==4)
if(xmlhttp.status==200)
{
result=xmlhttp.responseText;
document.images.img1.src=result;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<select id="Select1" style="width: 104px; height: 47px" onchange="sendTextHttp(this.value)">
<option value="01">图片1</option>
<option value="02">图片2</option>
<option value="03">图片3</option>
<option value="04">图片4</option>
<option value="05">图片5</option>
</select>
<img src="image/Icon_01.gif" style="width: 32px; height:32px" alt="图像" id="img1"/></div>
</form>
</body>
</html>
这里是handler.ashx服务器的处理文件
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/plain";
string aa = context.Request.QueryString["imgurl"];
if (aa != null)
{
string returnImageUrl = @"image/Icon_" + context.Request.QueryString["imgurl"] + ".gif";
context.Response.Write(returnImageUrl);
}
}
public bool IsReusable {
get {
return false;
}
}
}
总算把这个给实现了,花了好久的时间。JAVASCRIPT如果出了什么错误真的很难发现的,大家小心点!!
相关文章推荐
- 根据列表框的改变图象动态变化的AJAX实现例子
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)
- WPF Datagrid Header数据绑定,表头复选框实现全选、全否、部分选中,根据条目动态变化
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)
- datagrid中格子和字体颜色根据格子内容动态变化的实现
- Ajax 动态刷新例子分析(实现级联更新)
- 动态创建表格js文件,javascript,Ajax,DHTML动态实现表格的创建,动态读取XML中的文件,读取dom节点的例子。
- AngularJS实现根据变量改变动态加载模板的方法
- ajax实现动态级联列表框
- js实现根据下拉列表动态改变其他层
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)
- asp+ajax能实现根据下拉列表值动态无刷新显示数据
- javascript实现css主题样式切换;动态改变引入的css文件;
- java根据properties配置文件来实现功能模块的动态切换
- Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)
- 完整版ajax+百度echarts实现统计图表demo并随着窗口大小改变而自适应
- josephus约瑟夫环变种 双向链表实现 特点是游戏规则在动态改变
- 利用Ajax实现在脚本里传值例子
- 实现拉动右边内容栏左边菜单栏动态变化
- 【111】Vue.js实现页面共用头部悬浮、共用底部跟随内容改变位置的例子。