`

f_alert 在指定元素后面弹出错误信息

阅读更多

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">

 
  
 </HEAD>

 <BODY>
	<input type="text" id="txt"   />sssssssssssssssssssssss
	<input type="text" id="txt5"   /><input type="text" id="txt33"   /><br/>
	<input type="text" id="txt6"   /><br/><br/><br/>
	<input type="text" id="txt2"   /> 
	 <select id="sss" >
		<option>sssssssss</option>
	 </select>
	<br/><br/>
	<input type="checkbox" name="chk" id="chk" />sdfsf

	<SCRIPT LANGUAGE="JavaScript">
		
		/**
		 * 获取元素的坐标点
		 * @param elementId 元素Id
		 * @returns 元素所在位置的坐标点
		 */	
		function getElementPos(elementId){
			
			//验证浏览器类型
			var ua = navigator.userAgent.toLowerCase(); 
			var isOpera = (ua.indexOf('opera')!=-1); 
			var isIE = (ua.indexOf('msie')!=-1&&!isOpera);
		
			
			//获取元素
			var el = document.getElementById(elementId); 
			if(el.parentNode === null || el.style.display == 'none') { 
				return false; 
			}
 
			var parent=null; 
			var pos=[]; 
			var box;
			

			//如果浏览器是IE
			if(el.getBoundingClientRect) {
				
				box = el.getBoundingClientRect(); 

				var scrollTop  = Math.max(document.documentElement.scrollTop,document.body.scrollTop); 
				var scrollLeft = Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
				
				return {
					x:box.left+scrollLeft,y:box.top+scrollTop
				}; 
			} else if(document.getBoxObjectFor) {  // gecko  
				
				box=document.getBoxObjectFor(el); 

				var borderLeft=(el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
				var borderTop=(el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;
				
				pos=[box.x-borderLeft,box.y-borderTop];
			}else{	// safari & opera
			 
				pos=[el.offsetLeft,el.offsetTop]; 
				parent=el.offsetParent; 

				if(parent!=el){
					while(parent){
						
						pos[0]+=parent.offsetLeft;
						pos[1]+=parent.offsetTop;
						parent=parent.offsetParent;
					}
				}

				if(ua.indexOf('opera')!=-1||(ua.indexOf('safari')!=-1&&el.style.position=='absolute')){
					
					pos[0]-=document.body.offsetLeft;
					pos[1]-=document.body.offsetTop;
				}
			}


			if(el.parentNode){
				parent=el.parentNode;
			}else {
				parent=null;
			}


			while(parent&&parent.tagName!='BODY'&&parent.tagName!='HTML'){
				// account for any scrolled ancestors   
				pos[0]-=parent.scrollLeft;
				pos[1]-=parent.scrollTop;
				
				if(parent.parentNode){
					parent=parent.parentNode;
				}else {
					parent=null; 
				} 
			}
			return {
				x:pos[0],y:pos[1]
			};
		}
	
		
		/**
		 * 弹出错误信息
		 * @param elementId 元素Id
		 * @param errorMsg 错误信息
		 * @returns 元素所在位置的坐标点
		 */	
		function f_alert(elementId , errorMsg){
			//获取元素、元素类型
			var _el = document.getElementById(elementId);
			var _el_type = _el.type ;
			 
			//计算元素宽度
			var _el_width = 0 ;
			if(_el_type == "text") {
				_el_width = _el.size ;
			}else {
				_el_width = _el.style.width ;  
			}

			//获取元素坐标
			var _point = getElementPos(elementId); 

			//计算div显示位置
			var _left = parseInt(_el_width) * 8 + _point.x - 8 ;
			var _top = _point.y - 3  ;
			
			//拼出DIV
			var _strDiv = "<div  onclick='javascript:{this.style.display=\"none\";}' "
			_strDiv += "style='color: red ;background-color: #FFFEBB;position: absolute;font-size: 12px;height: 22px;";
			_strDiv += "border: 1px solid #ff3300;padding-top: 4px;padding-left: 4px;padding-right: 4px;z-index: 1002;overflow: auto;";
			_strDiv += "left:"+_left+"px;top:"+_top+"px;' >"
			_strDiv += errorMsg ;
			_strDiv += "</div>" ;

			document.write(_strDiv);

		}

			 
		f_alert("txt5","aaaaaaaaa");
		//f_alert("txt5","请输入嗷嗷嗷");
		//f_alert("chk","aaaaaaaaa");

  //-->
  </SCRIPT>
 </BODY>
</HTML>
 
分享到:
评论

相关推荐

    详解Android 全局弹出对话框SYSTEM_ALERT_WINDOW权限

    在Android开发中,全局弹出对话框是一种常见需求,特别是在某些特定场景下,如通知用户、请求确认或显示重要信息。然而,为了实现全局对话框,开发者需要掌握一种特殊的权限,即`SYSTEM_ALERT_WINDOW`权限。这个权限...

    html-alert-div.rar_alert弹出div

    在网页设计中,HTML(超文本标记语言)是构建页面结构的基础,但有时我们需要更丰富的交互体验,例如弹出信息提示。"html-alert-div.rar_alert弹出div"这个压缩包文件提供了一种非标准的方式,通过HTML和CSS来实现...

    jQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogs

    jQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogsjQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogsjQuery插件:警告-确认-提示弹出对话框效果_jquery_alert_dialogs

    Stochastic_Histogram_Alert - MetaTrader 5脚本.zip

    在MT5平台上,这包括弹出窗口提醒、电子邮件通知和手机推送通知。这些提醒方式确保交易者无论在何时何地都能及时获取信息,从而快速响应市场变化。电子邮件通知可以发送到指定的邮箱,而手机推送通知则直接推送到...

    db_alert.rar_db slert_oracle

    在Oracle数据库管理中,DBMS_ALERT是一个非常有用的实用程序,它允许用户在数据库中发送和接收异步消息。这些消息可以用于监控、报警或者在不同的进程间通信,尤其是在捕获数据库变化时。本文将深入探讨DBMS_ALERT的...

    自定义弹出框样式 alert修改

    ### 自定义弹出框样式 alert修改 在网页开发过程中,我们经常会遇到需要向用户展示提示信息的情况。传统的JavaScript `alert`方法虽然简单易用,但其样式固定且无法自定义,这在追求用户体验和界面美观的现代Web...

    jQuery 弹出层及alert插件

    在网页开发中,jQuery的弹出层和alert插件是常见的一种交互元素,用于向用户显示信息或者获取用户输入。下面我们将深入探讨jQuery弹出层及alert插件的相关知识点。 一、jQuery弹出层基础 1. **jQuery Dialog**:...

    hDialog 漂亮的弹出层html 取代alert

    是一个针对这一问题的解决方案,它提供了更丰富的弹出层设计,通过HTML和CSS实现,旨在完全替代`alert()`函数,提供多样化的对话框,包括但不限于确认、提示、信息、警告、错误等不同类型的弹出形式,以及弹出表单等...

    js 精美弹出框 alert

    在JavaScript编程中,"js精美弹出框alert"是指通过自定义的方式,创建美观且功能丰富的弹出警告对话框,以替代系统默认的简单且样式单一的`alert()`函数。通常,开发者会使用CSS和JavaScript库来实现这种效果,以...

    旗联错误码1

    - 0x14MT_HARDWARE_ALERT_ERR_BY_UNKNOWN_ERR是未知硬件错误,可能需要联系设备制造商进行诊断。 - 0x15M6E_INIT_FAILED意味着m6e初始化失败,可能需要重新配置设备或更新固件。 - 0x16MT_OP_EXECING表示设备正在...

    PyPI 官网下载 | georss_qld_bushfire_alert_client-0.3.tar.gz

    标题中的"PyPI 官网下载 | georss_qld_bushfire_alert_client-0.3.tar.gz"表明这是一个在Python Package Index (PyPI)上发布的软件包,名为`georss_qld_bushfire_alert_client`,版本号为0.3,其打包格式为tar.gz。...

    C#实现在前端网页弹出警告对话框(alert)的方法

    本文实例讲述了C#实现在前端网页弹出警告对话框(alert)的方法。分享给大家供大家参考。具体如下: 通常我们通过JS生成警告对话框,下面的代码可以帮助你在点击runat=server的按钮时从服务器端生成alert警告对话框 ...

    alert_style.zip_alert样式美化_style

    Alert弹出窗口通常用于通知用户关键信息或者需要用户确认的操作,因此,它们的样式设计必须既吸引人又易于理解。以下是一些关于alert样式美化和style设计的重要知识点: 1. **HTML基础**:Alert弹窗通常由HTML元素...

    SweetAlert2弹出消息对话框插件

    SweetAlert2弹出消息对话框插件是一款含有多种情景模式的jQuery模态消息对话框代码,用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,功能非常强大。 再献上一个相关的带6...

    BBands_Stop_v1_Alert - MetaTrader 5脚本.zip

    BBands_Stop_v1_Alert 是一个专门为 MetaTrader 5(MT5)交易平台设计的技术分析脚本,它基于布林带(Bollinger Bands)理论,旨在帮助交易者识别市场趋势变化,并在变化发生时及时发出警报。布林带是由约翰·布林格...

    Waddah_Attar_Trend_Alert - MetaTrader 5脚本.zip

    《Waddah_Attar_Trend_Alert - MetaTrader 5脚本详解》 在金融交易领域,MetaTrader 5(MT5)是一个广泛使用的交易平台,它提供了丰富的交易工具和技术分析功能。Waddah_Attar_Trend_Alert 脚本正是基于这个平台,...

    sweetalert弹出框

    -- 弹出框 --&gt; &lt;link rel="stylesheet" href="__PUBLIC__/css/sweetalert.css"&gt; &lt;!-- 弹出框 --&gt; &lt;script type="text/javascript" src="__PUBLIC__/wxparent/js/sweetalert-dev.js"&gt; swal({ title: "", text: res...

    flutter_dropdown_alert:Flutter Dropdown Alert帮助可在成功,警告或错误(如推送通知)时通知用户

    下拉警报将帮助您在调用api成功,错误或类似情况时通知用户。 与推送通知类似,但是您可以自定义更多。 您可以在没有窗口小部件的任何地方显示警报。 演示版 如何使用它。 # pubspec.yaml dependencies : flutter ...

Global site tag (gtag.js) - Google Analytics