动态文本框 写成FUNCTION 在TEXT的ONCHANGE事件中加上FUNCTION 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function DisplayText(){ .... 你的代码}<input type="text" onchange="DisplayText()"/> getElementsByTagName("div");div不支持name属性,所以此法肯定不对 楼上的方法之前也用过了,可能是我的代码有错,也不能实现啊我把上面的代码写成一个函数,然后在前三个文本框中加了onchange事件,效果只有一个:就是程序报错。@_@ 第一种方法document.getElementById("dv3").style.display=(pm2=="")?"none";"block";是冒号不是分号<script type="text/javascript">function displayInput(){var pm0=document.myform.pm0.value;var pm1=document.myform.pm1.value;var pm2=document.myform.pm2.value;var pm3=document.myform.pm3.value;document.getElementById("dv1").style.display=(pm0=="")?"none":"block";document.getElementById("dv2").style.display=(pm1=="")?"none":"block";document.getElementById("dv3").style.display=(pm2=="")?"none":"block";}</script><form name="myform"><table><tr><td id="addpic"> <div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div> <div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div> <div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div> <div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div> </td></tr></table></form> 我改成这样也不行啊!<td id="addpic"><div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="ch()"></div><div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="ch()"></div><div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="ch()"></div><div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35></div></td><script type="text/javascript">function ch(){ for (i=0;i<3;i++) { if(document.getElementById("pm"+i).value=="") { document.getElementById("dv"+i+1).style.display="block"; } else { document.getElementById("dv"+i+1).style.display="none"; } }}</script> <script type="text/javascript"> $=function (id){return document.getElementById(id);} function Te_s() { var pm0=$("pm0").value; var pm1=$("pm1").value; var pm2=$("pm2").value; var pm3=$("pm3").value; document.getElementById("dv1").style.display=(pm0=="")?"none":"block"; document.getElementById("dv2").style.display=(pm1=="")?"none":"block"; document.getElementById("dv3").style.display=(pm2=="")?"none":"block"; } </script> </head> <body> <td id="addpic"> <div id="dv0"> <input type=text name="pm0" size=35 id="pm0" onBlur="Te_s()"> </div> <div id="dv1" style="display:none"> <input type=text name="pm1" id="pm1" size=35 onBlur="Te_s()"> </div> <div id="dv2" style="display:none"> <input type=text name="pm2" id="pm2" size=35 onBlur="Te_s()"> </div> <div id="dv3" style="display:none"> <input type=text name="pm3" id="pm3" size=35 onBlur="Te_s()"> </div> </td> </body>楼主笔误 document.getElementById("dv3").style.display=(pm2=="")?"none";"block";是: 不是; 我的这个可以实现 <script type="text/javascript">function aa(){var pm0=document.getElementById("pm0").value;var pm1=document.getElementById("pm1").value;var pm2=document.getElementById("pm2").value;var pm3=document.getElementById("pm3").value;document.getElementById("dv2").style.display=(pm0=="")?"none":"block";document.getElementById("dv3").style.display=(pm1=="")?"none":"block";document.getElementById("dv4").style.display=(pm2=="")?"none":"block";}</script><div id=dv1><input type="text" id='pm0' onKeyUp="javascript:aa()"/></div><div id=dv2 style="display:none"><input type="text" id='pm1' onKeyUp="aa()"/></div><div id=dv3 style="display:none"><input type="text" id='pm2' onKeyUp="aa()"/></div><div id=dv4 style="display:none"><input type="text" id='pm3' onKeyUp="aa()"/></div> 回五楼朋友的,错误提示:缺少对象。说是98行第一个字符,那个根本不可能,我前面的都是跟这里不相关的html代码,都是td和tr标记。像7楼朋友说的那样,弄成函数功能是可以实现。但是感觉挺别扭,添加了内容需要鼠标在其它地方点一下才会显示后面的文本框,有方法让它自动执行吗?好像有一个on什么事件的,有点像onfocus那样的效果,代码该怎么写呢? <script type="text/javascript">function ch(){ for (i=0;i<3;i++) { if(document.getElementById("pm"+i).value=="") { document.getElementById("dv"+i+1).style.display="block"; } else { document.getElementById("dv"+i+1).style.display="none"; } }}</script>document.getElementById("dv"+i+1).style.display="none";中获取ID有问题"dv"+i+1是先"dv"和i相加都成了字符了 再加上1就不对了改成dv"+(i+1) 另外的就是你的逻辑问题了 <html><head><script type="text/javascript">function displayInput(){var pm0=document.myform.pm0.value;var pm1=document.myform.pm1.value;var pm2=document.myform.pm2.value;var pm3=document.myform.pm3.value;var obj=document.getElementById("addpic").getElementsByTagName("div"); for (i=0;i<obj.length-1;i++) { if(document.getElementById("pm"+i).value=="") { document.getElementById("dv"+(i+1)).style.display="none"; } else { document.getElementById("dv"+(i+1)).style.display=""; } }}</script></head><body><form name="myform"><table><tr><td id="addpic"> <div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div> <div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div> <div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div> <div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div> </td></tr></table></form></body></html> 【散分】欢迎安装WEB前端工程师助手(FeHelper)-chrome扩展 如何解决js异步执行 JS字符串比较的问题 [分享代码]利用javascript接收参数传递!!! 匹配yyyy-mm-dd日期格式的正则表达式如何写? JS中的参数传递竟然都是传值的?怎么能这样?!! 请教高手一个简单问题 jquery放大镜问题,希望能够适用于矩形,而不仅仅是正方形。求大牛帮忙~~ 请大神帮忙,改写成鼠标事件,滑入变黑色,滑出变白色 求一段js正则表达式 null的问题 如何动态删除table里的文本框
{
....
你的代码
}<input type="text" onchange="DisplayText()"/>
div不支持name属性,所以此法肯定不对
我把上面的代码写成一个函数,然后在前三个文本框中加了onchange事件,效果只有一个:就是程序报错。@_@
是冒号不是分号
<script type="text/javascript">
function displayInput()
{
var pm0=document.myform.pm0.value;
var pm1=document.myform.pm1.value;
var pm2=document.myform.pm2.value;
var pm3=document.myform.pm3.value;
document.getElementById("dv1").style.display=(pm0=="")?"none":"block";
document.getElementById("dv2").style.display=(pm1=="")?"none":"block";
document.getElementById("dv3").style.display=(pm2=="")?"none":"block";
}
</script>
<form name="myform">
<table>
<tr>
<td id="addpic">
<div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div>
<div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div>
<div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div>
<div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div>
</td>
</tr>
</table>
</form>
<td id="addpic">
<div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="ch()"></div>
<div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="ch()"></div>
<div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="ch()"></div>
<div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35></div>
</td><script type="text/javascript">
function ch()
{
for (i=0;i<3;i++)
{
if(document.getElementById("pm"+i).value=="")
{
document.getElementById("dv"+i+1).style.display="block";
}
else
{
document.getElementById("dv"+i+1).style.display="none";
}
}
}
</script>
$=function (id){return document.getElementById(id);}
function Te_s()
{
var pm0=$("pm0").value;
var pm1=$("pm1").value;
var pm2=$("pm2").value;
var pm3=$("pm3").value;
document.getElementById("dv1").style.display=(pm0=="")?"none":"block";
document.getElementById("dv2").style.display=(pm1=="")?"none":"block";
document.getElementById("dv3").style.display=(pm2=="")?"none":"block";
}
</script>
</head>
<body>
<td id="addpic">
<div id="dv0"> <input type=text name="pm0" size=35 id="pm0" onBlur="Te_s()"> </div>
<div id="dv1" style="display:none"> <input type=text name="pm1" id="pm1" size=35 onBlur="Te_s()"> </div>
<div id="dv2" style="display:none"> <input type=text name="pm2" id="pm2" size=35 onBlur="Te_s()"> </div>
<div id="dv3" style="display:none"> <input type=text name="pm3" id="pm3" size=35 onBlur="Te_s()"> </div>
</td>
</body>
楼主笔误 document.getElementById("dv3").style.display=(pm2=="")?"none";"block";
是: 不是; 我的这个可以实现
function aa()
{var pm0=document.getElementById("pm0").value;
var pm1=document.getElementById("pm1").value;
var pm2=document.getElementById("pm2").value;
var pm3=document.getElementById("pm3").value;
document.getElementById("dv2").style.display=(pm0=="")?"none":"block";
document.getElementById("dv3").style.display=(pm1=="")?"none":"block";
document.getElementById("dv4").style.display=(pm2=="")?"none":"block";
}
</script>
<div id=dv1><input type="text" id='pm0' onKeyUp="javascript:aa()"/></div>
<div id=dv2 style="display:none"><input type="text" id='pm1' onKeyUp="aa()"/></div>
<div id=dv3 style="display:none"><input type="text" id='pm2' onKeyUp="aa()"/></div>
<div id=dv4 style="display:none"><input type="text" id='pm3' onKeyUp="aa()"/></div>
像7楼朋友说的那样,弄成函数功能是可以实现。但是感觉挺别扭,添加了内容需要鼠标在其它地方点一下才会显示后面的文本框,有方法让它自动执行吗?好像有一个on什么事件的,有点像onfocus那样的效果,代码该怎么写呢?
function ch()
{
for (i=0;i<3;i++)
{
if(document.getElementById("pm"+i).value=="")
{
document.getElementById("dv"+i+1).style.display="block";
}
else
{
document.getElementById("dv"+i+1).style.display="none";
}
}
}
</script>
document.getElementById("dv"+i+1).style.display="none";
中获取ID有问题"dv"+i+1是先"dv"和i相加都成了字符了 再加上1就不对了
改成dv"+(i+1)
另外的就是你的逻辑问题了
<head>
<script type="text/javascript">
function displayInput()
{
var pm0=document.myform.pm0.value;
var pm1=document.myform.pm1.value;
var pm2=document.myform.pm2.value;
var pm3=document.myform.pm3.value;
var obj=document.getElementById("addpic").getElementsByTagName("div");
for (i=0;i<obj.length-1;i++)
{
if(document.getElementById("pm"+i).value=="")
{
document.getElementById("dv"+(i+1)).style.display="none";
}
else
{
document.getElementById("dv"+(i+1)).style.display="";
}
}
}
</script>
</head>
<body>
<form name="myform">
<table>
<tr>
<td id="addpic">
<div id="dv0"><input type=text name="pm0" size=35 id="pm0" onchange="displayInput()" /></div>
<div id="dv1" style="display:none"><input type=text name="pm1" id="pm1" size=35 onchange="displayInput()"/></div>
<div id="dv2" style="display:none"><input type=text name="pm2" id="pm2" size=35 onchange="displayInput()"/></div>
<div id="dv3" style="display:none"><input type=text name="pm3" id="pm3" size=35 onchange="displayInput()"/></div>
</td>
</tr>
</table>
</form>
</body>
</html>