Wycinek z większego skryptu taki skrypcik:
Kod
<script type="text/javascript">
function DodajElement(){
var element = document.createElement('input');
element.setAttribute('type', 'file');
var liczba = 0;
var ilosc = document.forms['newsy_edit'].elements.length;
for (var i = 0; i < ilosc; i++ ) {
if (document.forms['newsy_edit'].elements[i].type == 'file'){
liczba += 1;
}
}
element.setAttribute('name', 'file-'+(liczba+1));
element.style.display = "block";
var div = document.getElementById('dodatkowe');
var lastInput = div.appendChild(element);
document.forms["newsy_edit"].dodatkowe_ilosc.value = liczba;
lastInput.onchange = function(){
DodajElement();
}
}
window.onload = function (){
DodajElement();
}
</script>
<?
if($_POST[obj_add_submit])
{
echo 'TEMP FILE UPLOAD1: '.$_FILES['file-1']['tmp_name'].'
MINI TEMP FILE: '.$_FILES['obj_mini']['tmp_name'];
}
echo "<form name='newsy_edit' enctype='multipart/form-data' action='' method='POST'>
<table cellpadding='4'>
<tr><td>
<b>Tytuł:</b></td><td><input type='text' name='obj_tytul'></td></tr>
<tr><td>
<b>Miniaturka:</b></td><td><input name='obj_mini' type='file' /></td></tr>
<tr><td>
<b>Treść:</b></td><td><textarea name='obj_tresc'></textarea></td></tr>
<tr><td valign='top'>
<b>Załączany plik:</b></td><td>
</td></tr>
</table>
<input type='hidden' name='dodatkowe_ilosc' />
<fieldset><div id='dodatkowe'>
</div></fieldset>
<p align='right'><input type='submit' name='obj_add_submit' value='dodaj'></p> </form>";
?>
function DodajElement(){
var element = document.createElement('input');
element.setAttribute('type', 'file');
var liczba = 0;
var ilosc = document.forms['newsy_edit'].elements.length;
for (var i = 0; i < ilosc; i++ ) {
if (document.forms['newsy_edit'].elements[i].type == 'file'){
liczba += 1;
}
}
element.setAttribute('name', 'file-'+(liczba+1));
element.style.display = "block";
var div = document.getElementById('dodatkowe');
var lastInput = div.appendChild(element);
document.forms["newsy_edit"].dodatkowe_ilosc.value = liczba;
lastInput.onchange = function(){
DodajElement();
}
}
window.onload = function (){
DodajElement();
}
</script>
<?
if($_POST[obj_add_submit])
{
echo 'TEMP FILE UPLOAD1: '.$_FILES['file-1']['tmp_name'].'
MINI TEMP FILE: '.$_FILES['obj_mini']['tmp_name'];
}
echo "<form name='newsy_edit' enctype='multipart/form-data' action='' method='POST'>
<table cellpadding='4'>
<tr><td>
<b>Tytuł:</b></td><td><input type='text' name='obj_tytul'></td></tr>
<tr><td>
<b>Miniaturka:</b></td><td><input name='obj_mini' type='file' /></td></tr>
<tr><td>
<b>Treść:</b></td><td><textarea name='obj_tresc'></textarea></td></tr>
<tr><td valign='top'>
<b>Załączany plik:</b></td><td>
</td></tr>
</table>
<input type='hidden' name='dodatkowe_ilosc' />
<fieldset><div id='dodatkowe'>
</div></fieldset>
<p align='right'><input type='submit' name='obj_add_submit' value='dodaj'></p> </form>";
?>
Otóż kiedy jest input wysyłający miniaturkę wysyła tylko miniaturkę, ale nie wysyła plików. Jeśll ze skryptu wyrzuci sie input z miniaturkę, upload plików działa jak nalezy. Niespecjalnie znam sie na javascript i najprawdopodobnie w tamtym skrypcie będzie leżał błąd. Czy ktoś może go zauważa?