javascript:添加onchange事件无反应
1、document.attachlist.annexFile.attachEvent("onchange","alert('ok')");2、document.getE...
1、document.attachlist.annexFile.attachEvent("onchange","alert('ok')");
2、document.getElementById("attachFile").change = function(){alert('ok');}
3、document.getElementById("attachFile").onchange = function(){alert('ok');}
以上均无反应,求救!!!
---------------- html ----------------
<form id="sendlist" name="sendlist" action="" method="post" enctype="multipart/form-data">
<input type="text" name="file" value="" />
<input type="button" name="annex" value="添加附件" onclick="checkAnnex()" /><br/>
<p class="attachNotice" id="attachNotice" name="check_attach">此文件为"秘密"文件</p>
</form>
<form id="attachlist" name="attachlist" action="" method="post" enctype="multipart/form-data">
<input id="attachFile" style="display:none" type="file" name="annexFile" value="" />
</form>
------------------- js ---------------------
function checkAnnex(){
document.getElementById("attachFile").onchange = function(){
var filename = document.attachlist.annexFile.value;
document.sendlist.file.value = filename;
document.attachlist.action="send.php?annexCHK="+filename;
//document.attachlist.submit();
}
}
貌似:document.getElementById("attachFile")是元素而不是对象,请教解决方法!!! 展开
2、document.getElementById("attachFile").change = function(){alert('ok');}
3、document.getElementById("attachFile").onchange = function(){alert('ok');}
以上均无反应,求救!!!
---------------- html ----------------
<form id="sendlist" name="sendlist" action="" method="post" enctype="multipart/form-data">
<input type="text" name="file" value="" />
<input type="button" name="annex" value="添加附件" onclick="checkAnnex()" /><br/>
<p class="attachNotice" id="attachNotice" name="check_attach">此文件为"秘密"文件</p>
</form>
<form id="attachlist" name="attachlist" action="" method="post" enctype="multipart/form-data">
<input id="attachFile" style="display:none" type="file" name="annexFile" value="" />
</form>
------------------- js ---------------------
function checkAnnex(){
document.getElementById("attachFile").onchange = function(){
var filename = document.attachlist.annexFile.value;
document.sendlist.file.value = filename;
document.attachlist.action="send.php?annexCHK="+filename;
//document.attachlist.submit();
}
}
貌似:document.getElementById("attachFile")是元素而不是对象,请教解决方法!!! 展开
2个回答
展开全部
用我这个方式试试。让button按钮和file输入框重叠在一起,把file输入框置为透明并重叠到button按钮上边,当你在点击这个按钮的时候其实是点击了file输入框。这样不用js控制就可以达到上传的效果了。
.inputfile{
filter: alpha(opacity=0);-khtml-opacity: 0.0; opacity: 0.0; width: 60px; height:auto; cursor: pointer;
}
.z-inputfile{
position: absolute; z-index: 2;
}
.z-upload{
position: absolute; z-index: 1;
}
<div class="z-inputfile">
<input type="file" name="annexFile" class="inputfile"/>
</div>
<div class="z-upload">
<input type="button" value="上传新图片"/>
</div>
.inputfile{
filter: alpha(opacity=0);-khtml-opacity: 0.0; opacity: 0.0; width: 60px; height:auto; cursor: pointer;
}
.z-inputfile{
position: absolute; z-index: 2;
}
.z-upload{
position: absolute; z-index: 1;
}
<div class="z-inputfile">
<input type="file" name="annexFile" class="inputfile"/>
</div>
<div class="z-upload">
<input type="button" value="上传新图片"/>
</div>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请把源码粘出来,1、3中方法应该都是可以的,2不对
更多追问追答
追问
麻烦您再给看看啊?
追答
你看你上面写的本身就是有问题的,一个按钮怎么能有anchange事件呢,你应该改为onclick事件,或者是对你的file文本框加onchange事件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询