当前位置:编程问答 > JS >

JS高手帮克看看

问题:<script type="text/javascript"> function add_html(){                 var node = document.getElementById("img_upload");                 var input = document.createElement("input");                 input.setAttribute("type", "file");                 input.setAttribute("name", "news_img[]");                 input.setAttribute("size", "40");                 node.appendChild(input);                 var br = document.createElement("br");                 node.appendChild(br); } </script> <div>上传图片</div> <div id="img_upload"> <?php for($i=0;$i<count($img_array);$i++){?> <input type="file" name="news_img[]" size="40" value="" /><br /> <?php } ?> </div> <input type="button" onclick="add_html()" value="还添加一张" /> 这个是点击添加一张就会增加一个input框 现在我需要就是在每个框后面加一个删除框,点删除,这个相应的input就被删除掉。 求解
追问:怎么调用?我JS菜鸟 我直接复制过去没效果啊 是不是在HTML里面还得调用啊这样好像不行哦,我刚刚试了,根本没有删除按钮。我用的firefox浏览器我用IE试了下,可以 但是我的页面是一个编辑页面,就是原来数据库如果有图片记录,有几张图片的话,下面就会有几个file框框 这个在打开那个页面时就有,你这个只能是新增加的框框上面才会有删除按钮,而且firefox好像不兼容,能不能不写成动态的,就写死的行不。我自己添个删除按钮。不然还得写兼容关键是已经存在的input框不能删除啊,只能是新增的才能删除。firefox是不兼容的,这样写的话好像是有专门写两句代码是用来兼容浏览器的,能不能给我个死办法啊,我现在打开这个页面就有两个input框框,每个框对应数据库里一张图片,我只要实现点删除就能删除掉这个input框框就行
答案:以下是我刚写的JS代码,在你的代码上添加了1个函数,我的函数中动态注册了按钮点击事件。
<script>
function add_html()
{
	var node = document.getElementById("img_upload");
	var input = document.createElement("input");
	input.setAttribute("type", "file");
	input.setAttribute("name", "news_img[]");
	input.setAttribute("size", "40");
	node.appendChild(input);
	//调用添加删除按钮的函数
	add_del(input);
	var br = document.createElement("br");
	node.appendChild(br);
} 
//添加删除按钮的函数
function add_del(imgInputObj)
{
	var node = document.getElementById("img_upload");
	var input = document.createElement("input");
	input.setAttribute("type", "button");
	input.setAttribute("name", "del");
	input.setAttribute("value", "删除");
                //动态注册事件
	input.attachEvent("onclick", function() 
			            {
			                var node = document.getElementById("img_upload");
				node.removeChild(imgInputObj); 
				node.removeChild(input); 
			             }
		             );
	node.appendChild(input);
}
</script>

上一个:IE 6以上版本如何知道JS(javascript),ExtJs加载时间?
下一个:怎么用JS控制表格中<tr>的onmouseover和onmouseout事件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,