难题,网页设计,高手指导下!

难题,网页设计,高手指导下!,第1张

你说的问题应该是Ajax技术问题。

<div>姓名<input type="text" name="name" id="name" onblur="chk()" /><span id="ck_name"></span></div>

我以检测是否为空为例:

js函数:

function chk(){

if(trim(documentformnamenamevalue)==""){

documentgetElementById('ck_name')innerHTML="姓名不能为空";

return false;

}else{

documentgetElementById('ck_name')innerHTML="OK";

}

}

支持onfocus事件的 JavaScript 对象:

button, checkbox, fileUpload, layer, frame, password, radio, reset, select, submit,

text, textarea, window

jquery的 val() 方法可以设置或返回表单字段的值,所以清空文本框只要将其value值设为空即可。下面代码给出文本框获得焦点即清空文本的效果

$("input:text")focus(function() { // 获得焦点事件

    $(this)val("");

});

进一步,文本框获得焦点后清空内容是为了便于输入,但有时不想输入,那么失去焦点时还得恢复到原来的内容,为此还要如下代码

$("input:text")blur(function() {  // 失去焦点事件

    $(this)val()!="" || $(this)val(text);   // 如果文本框为空,那就设置之前定义的text变量值

});

下面的例子给出了包含以上内容的综合用法:

创建Html元素

<div class="box">

<span>单击文本框清空原有内容,离开文本框时若未填写内容则设置为之前的内容:</span><br>

<div class="content">

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

</div>

</div>

设置css样式

divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}

divbox span{color:#999;font-style:italic;}

divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}

input[type='text']{width:200px;height:35px;padding:5px 10px;margin:5px 0;border:1px solid #ff9966;}

编写jquery代码

$(function(){

var text;  // 全局变量用于保存文本框的内容

$("input:text")focus(function() {

text = $(this)val();

$(this)val("");

});

$("input:text")blur(function() {

$(this)val()!="" || $(this)val(text);

});

})

观察效果

初始状态

点击文本框后效果

没有修改内容即离开文本框则恢复原始文本

如果修改了内容,则显示修改的值

这是属性兼容问题导致的错误。

在IE和FireFox浏览器中,DOM的nextSibling方法的使用存在部分差异:

1 在FireFox中,html标记中空行和换行会被当做节点来处理,所以会出现startNodenextSibling取不到目标节点的情况,得到的元素反而是undefined或是nodeType为text的节点;

2解决方法是:判断startNodenextSibling的nodeType类型:

if(startNodenextSiblingnodeType==3)

{

brotherNode=startNodenextSiblingnextSibling; //如果浏览器是FireFox

}

else

{

brotherNode=startNodenextSibling; //如果浏览器是IE

}

<script type="text/javascript">

//循环获取所有的input框

//定义全局变量

var NI=false;

var US=false;

var PS=false;

var RPS=false;

var EM=false;

var PH=false;

//给每个input绑定获取焦点事件

//昵称

$('input[name="nickname"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请输入常用昵称');

});

//账户

$('input[name="username"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请输入6-16个字符,首字符不能为数字');

});

//密码

$('input[name="password"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请输入6-16个字符,首字符不能为数字');

});

//重复密码

$('input[name="repassword"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请再次输入密码');

});

//邮箱

$('input[name="email"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请输入常用昵称');

});

//电话

$('input[name="phone"]')focus(function(){

$(this)next()css({color:'#979898',display:'block'});

$(this)next()html('请输入常用手机号码');

});

//给每个input绑定丧失焦点事件

//昵称

$('input[name="nickname"]')blur(function(){

var v=$(this)val();

var reg=/^{1,16}$/;

if(!regtest(v)){

$(this)next()html('✘输入有误,请重新输入');

$(this)next()css('color','red');

}else{

$(this)next()html('✔');

$(this)next()css('color','green');

NI=true;

}

});

//账户

$('input[name="username"]')blur(function(){

var v=$(this)val();

var input=$(this);

var reg=/^\w{6,16}$/;

if(!regtest(v)){

inputnext()html('✘输入有误,请重新输入');

inputnext()css('color','red');

}else{

//发送ajax判断账户是否可用

$post('{:U("Admin/Admin/select")}',{username:v},function(data){

if(data==0){

inputnext()html('✘用户名已存在');

inputnext()css('color','red');

}else{

inputnext()html('✔');

inputnext()css('color','green');

US=true;

}

});

}

});

//密码

$('input[name="password"]')blur(function(){

var v=$(this)val();

var reg=/^[a-zA-Z]{1}\w{5,15}$/;

if(!regtest(v)){

$(this)next()html('✘输入有误,请重新输入');

$(this)next()css('color','red');

}else{

$(this)next()html('✔');

$(this)next()css('color','green');

PS=true;

}

});

//重复密码

$('input[name="repassword"]')blur(function(){

var rv=$(this)val();

var v=$('input[name=password]')val();

if(rv !== v){

$(this)next()html('✘重复密码输入有误');

$(this)next()css('color','red');

}else{

$(this)next()html('✔');

$(this)next()css('color','green');

RPS=true;

}

});

//邮箱

$('input[name=email]')blur(function(){

var v=$(this)val();

var reg = /^\w+@\w+\(com|cn|com\cn|org|hk|edu|net)$/;

if(!regtest(v)){

$(this)next()html('✘输入有误,请重新输入');

$(this)next()css('color','red');

}else{

$(this)next()html('✔');

$(this)next()css('color','green');

EM=true;

}

});

//电话

$('input[name=phone]')blur(function(){

var v=$(this)val();

var reg=/^1\d{10}$/;

if(!regtest(v)){

$(this)next()html('✘输入有误,请重新输入');

$(this)next()css('color','red');

}else{

$(this)next()html('✔');

$(this)next()css('color','green');

PH=true;

}

});

//绑定表单提交事件

$('button[name=Submit]')click(function(){

//alert('dasd');

$("input")each(function(){

$(this)next()css('display','block'); //循环让每个input框后面的span显示出来

});

//触发丧失焦点事件

$('input[name=nickname]')trigger('blur');

$('input[name=username]')trigger('blur');

$('input[name=password]')trigger('blur');

$('input[name=repassword]')trigger('blur');

$('input[name=email]')trigger('blur');

$('input[name=phone]')trigger('blur');

if(NI && US && PS && RPS && EM && PH){

return true;

}

return false;

});

</script>

onblur="checktitle()"离开事件执行的,不是点击时执行的

上面的判断可以改一下

else if($trim($("input[name=title]")val())=="")

{

请输入内容

}

文本焦点事件:

onBlur:当失去输入焦点后产生该事件

onFocus:当输入获得焦点后,产生该文件

Onchange:当文字值改变时,产生该事件

Onselect:当文字加亮后,产生该文件例:

<input type=text value=输入内容 onfocus=if(value=='输入内容') {value=''} onblur=if (value=='') {value='输入内容'} //点击时文字消失,失去焦点时文字再出现

<input type=text name=key size=12 value=关键字 onFocus=thisselect() onMouseOver=thisfocus() //鼠标移动到文本上方时,获取焦点并使文本值处选中状态

以上就是关于难题,网页设计,高手指导下!全部的内容,包括:难题,网页设计,高手指导下!、Html 选项卡获得焦点 大神看看 这是选项卡代码 但是下面是onclick事件改成onfocus 不能获得、jquery 如何实现 用户名文本框click都清空文本内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10153703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存