![](/img/trans.png)
[英]How to use javascript function for more than one tag with similar id?
[英]can't use more than one javascript function for one id
我使用2個功能輸入文件foto進行有效擴展,並用foto的名稱替換標簽
html代碼:
<input class="foto" type='file' name='propic' id="aa" class="required" value="<?php echo "$FOTO"; ?>" onchange="pressed()"><label style="font-weight:normal; width:80px; overflow:hidden; text-overflow:ellipsis;" id="fileLabel"><?php echo "$FOTO"; ?></label>
JavaScript代碼:
<script type="text/javascript">
var a = document.getElementById('aa');
window.pressed = function(){
if(a.value == "")
{
fileLabel.innerHTML = "Choose file";
}
else
{
var theSplit = a.value.split('\\');
fileLabel.innerHTML = theSplit[theSplit.length-1];
}
};
a.onchange = function(e){
var ext = this.value.match(/\.([^.]+)$/)[1];
switch(ext)
{
case 'jpg':
case 'jpeg':
case 'png':
break;
default:
alert('File is not valid!');
this.value='';
}
};
</script>
只有一個功能有效,即有效文件擴展名的功能。如何使其他功能有效?
請試試:
<script type="text/javascript">
var a = document.getElementById('aa');
var fileLabel = document.getElementById('fileLabel');
updateLabel = function(){
if(a.value == "")
{
fileLabel.innerHTML = "Choose file";
}
else
{
var theSplit = a.value.split('\\');
fileLabel.innerHTML = theSplit[theSplit.length-1];
}
};
validateExtension = function(e){
var ext = this.value.match(/\.([^.]+)$/)[1];
switch(ext)
{
case 'jpg':
case 'jpeg':
case 'png':
break;
default:
alert('File is not valid!');
this.value='';
}
};
a.addEventListener('change',validateExtension,false);
a.addEventListener('change',updateLabel,false);
</script>
並從html代碼中刪除onchange
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.