tuxido devito
Gebruiker
- Lid geworden
- 8 apr 2007
- Berichten
- 71
Ik heb deze code
In grote lijnen zorg dit er voor dat de bruiker een mooi grafisch schilletje krijgt te zien met welke bestanden hij wil uploaden terwijl de inputs niet zichtbaar wel blijven bestaan. Als ik echter een input wil 'resetten' gaat het mis. De gebruiker klikt op het kruisje wat het script removefile activeert. Deze vervangt in de <span> waar de verborgen file input staat de innerHTML om zo het formulier leeg te maken. Verder wordt dit formulier weer getoond. om zo weer een nieuwe keuze te kunnen maken. Echter word deze input dan niet meer opgenomen in het formulier. Hoe los ik dit op?
Bij voorbaat dank
Sven van de Scheur
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Prototype Interface Upstream 2</title>
<style type="text/css">
body{font-family:Verdana, Arial, Helvetica, sans-serif; font-size: small; text-align:left;}
.activebutton{background-image:url(images/tab_select.png); background-repeat:no-repeat; text-align:center;}
.activebutton:hover{cursor:pointer;}
.button{background-image:url(images/tab_default.png); background-repeat:no-repeat; text-align:center;}
.button:hover{background-image:url(images/tab_hover.png); background-repeat:no-repeat; text-align:center; cursor:pointer;}
.file{
display:none;
}
.header{background-image:url(images/header_background.png);}
.navbar{background-image:url(images/main_background.png);}
.main{border-color:#FFFFFF; background-image:url(images/main_background.png); background-repeat:repeat-y;}
.info{background-image:url(images/info_background.png);}
.margin{margin-left: 10px; margin-right:10px;}
.list{border-color:#FFFFFF; background-image:url(images/main_background.png); background-repeat:repeat-y; width:100%;}
.uploadbutton{height:32px; width:80px; border-style:solid; border-width:thin; border-color:#C0C0C0; background-color:#F1F1F1;}
.uploadbutton:hover{border-color:#ACCDFF; background-color:#FFFFFF;}
.copyrightinfo{font-size:smaller; text-align:center;}
.footer{background-image:url(images/footer_background.png);}
.close{color:#FFB7B9;}
.close:hover{color:#FF0000;}
.notint{background-color:#FFFFFF;}
.notint:hover{background-color:#EEEEEE;}
.tint{background-color:#CCFF66;}
.tint:hover{background-color:#BBEE55;}
</style>
<script type="text/javascript">
var maxfiles = 10;
var maxchars = 55;
var files = new Array();
var str = '';
for (i=0; i<=maxfiles; i++)
{
files[i]='';
}
function addform(i)
{
id=i+1;
if (id<=maxfiles)
{
var browser=document.getElementById('span'+id);
browser.style.display='inline';
for (a=1; a<=maxfiles; a++)
{
if (!(a==id))
{
var browser=document.getElementById('span'+a);
browser.style.display='none';
}
}
}
else
{
var browser=document.getElementById('span'+maxfiles);
browser.style.display='none';
}
}
function addfile(file)
{
filepath=file;
if (file.length > maxchars)
{
d=file.length-55;
str=file.substr(0,d);
file='...'+file.replace(str, '');
}
for (i=1; i<=maxfiles; i++)
{
if (files[i]=='')
{
if(i%2)
files[i]='<tr id="row'+i+'" class="tint"><td width="100%" align="left">'+file+' </td><td><a class="close" id="'+i+'" href="#" onclick="removefile('+i+')">[X]</a></td></tr>';
else
files[i]='<tr id="row'+i+'" class="notint"><td width="100%" align="left">'+file+' </td><td><a class="close" id="'+i+'" href="#" onclick="removefile('+i+')">[X]</a></td></tr>';
addform(i);
r=getfreerows();
if(r>0)
document.getElementById('guide').innerHTML='U kunt nog '+r+' bestanden kiezen.';
else
document.getElementById('guide').innerHTML='U heeft al '+maxfiles+' bestanden gekozen.';
break
}
}
document.getElementById('fileselection').innerHTML = '<table class="list">'+files.join('')+'</table>';
}
function removefile(i)
{
files[i]='';
document.getElementById('span'+i).innerHTML='<input name="browser'+i+'" type="file" id="browser'+i+'" onchange="addfile(this.value)" size="50" />';
addform(i-1);
document.getElementById('fileselection').innerHTML = '<table class="list">'+files.join('')+'</table>';
r=getfreerows();
if(r>0)
document.getElementById('guide').innerHTML='U kunt nog '+r+' bestanden kiezen.';
else
document.getElementById('guide').innerHTML='U heeft al '+maxfiles+' bestanden gekozen.';
if(r==maxfiles)
document.getElementById('guide').innerHTML='Kies een bestand:';
var c='tint';
for(i=1; i<=maxfiles; i++)
{
if(files[i]!='')
{
document.getElementById('row'+i).className=c;
if(c=='notint')
c='tint';
else
c='notint';
}
}
}
function getfreerows()
{
var freerows=0;
for (i=1; i<=maxfiles; i++)
{
if(document.getElementById('browser'+i).value=='')
{
freerows++;
}
}
return freerows;
}
</script>
</head>
<body>
<div align="center">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="header" width="480px" height="80" colspan="5"></td>
</tr>
<tr class="navbar">
<td width="96" height="32" class="activebutton" onclick="window.location='index.php'">Upload</td>
<td width="96" height="32" class="button" onclick="window.location='regels.php'">Regels</td>
<td width="96" height="32" class="button" onclick="window.location='contact.php'">Contact</td>
<td width="96" height="32" class="button" onclick="window.location='disclaimer.php'">Disclaimer</td>
<td width="96" height="32" class="button" onclick="window.location='bestanden.php'">Bestanden</td>
</tr>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<tr>
<td width="480" colspan="5" align="left">
<div class="main" align="left">
<div class="info">
<br />
<div class="margin">Welkom gebruiker:<br /><br />
Klik op bladeren om verschillende bestanden te selecteren. Gebruik de optie 'Maak .zip aan' indien u al uw bestanden wil comprimeren in 1 zip archief. Gebruik de optie 'Privé bestand' indien u niet wil dat deden uw bestand kunnen bekijken. Als u klaar bent drukt u op de knop 'upload' om te beginnen met uploaden.<br /><br /></div>
</div>
<div class="margin">
<span id="span1"><input name="browser1" type="file" id="browser1" onchange="addfile(this.value)" size="50" />
</span>
<span id="span2" class="file"><input name="browser2" type="file" id="browser2" onchange="addfile(this.value)" size="50" />
</span>
<span id="span3" class="file"><input name="browser3" type="file" id="browser3" onchange="addfile(this.value)" size="50" />
</span>
<span id="span4" class="file"><input name="browser4" type="file" id="browser4" onchange="addfile(this.value)" size="50" />
</span>
<span id="span5" class="file"><input name="browser5" type="file" id="browser5" onchange="addfile(this.value)" size="50" />
</span>
<span id="span6" class="file"><input name="browser6" type="file" id="browser6" onchange="addfile(this.value)" size="50" />
</span>
<span id="span7" class="file"><input name="browser7" type="file" id="browser7" onchange="addfile(this.value)" size="50" />
</span>
<span id="span8" class="file"><input name="browser8" type="file" id="browser8" onchange="addfile(this.value)" size="50" />
</span>
<span id="span9" class="file"><input name="browser9" type="file" id="browser9" onchange="addfile(this.value)" size="50" />
</span>
<span id="span10" class="file"><input name="browser10" type="file" id="browser10" onchange="addfile(this.value)" size="50" />
</span>
<div><span id="guide">Kies een bestand:</span></div>
<span id="form"></span>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="5" align="left">
<div id="fileselection"></div>
</td>
</tr>
<tr>
<td colspan="5" class="main">
<br />
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="margin">
<tr>
<td colspan="5" align="left">Maak .zip aan</td>
<td width="47%"><input type="checkbox" name="zip" value="1" id="zip" /></td><td width="29%" colspan="5" rowspan="2" align="center"><input type="submit" value="upload" class="uploadbutton" /></td>
</tr>
<tr>
<td colspan="5" align="left">Privé bestand</td>
<td><input type="checkbox" name="private" value="1" id="zip" /></td>
</tr>
<tr>
<td class="copyrightinfo" colspan="7">© 2008 Sven van de Scheur</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="480px" height="11px" class="footer" colspan="5"></td>
</tr>
</form>
</table>
</div>
</body>
</html>
In grote lijnen zorg dit er voor dat de bruiker een mooi grafisch schilletje krijgt te zien met welke bestanden hij wil uploaden terwijl de inputs niet zichtbaar wel blijven bestaan. Als ik echter een input wil 'resetten' gaat het mis. De gebruiker klikt op het kruisje wat het script removefile activeert. Deze vervangt in de <span> waar de verborgen file input staat de innerHTML om zo het formulier leeg te maken. Verder wordt dit formulier weer getoond. om zo weer een nieuwe keuze te kunnen maken. Echter word deze input dan niet meer opgenomen in het formulier. Hoe los ik dit op?
Bij voorbaat dank
Sven van de Scheur