Загрузка фала по onChange на input type=file 
		
		
		
		Если делаю submit кликом по кнопке, как в примере http://http://javascript.ru/forum/do...mi-iframe.html файл загружается, а если пытаюсь сделать submit формы по onChange на input type=file, то не работает. 
	Почему? <form action="upload.php" method="post" target="hiddenframe" enctype="multipart/form-data" name="userform"> <input type="file" id="userfile" name="userfile" onChange="userform.submit();"/> <input type="submit" name="upload" id="upload" value="Загрузить" /> </form> <div id="res"></div> <iframe id="hiddenframe" name="hiddenframe" style="width:0px; height:0px; border:0px"></iframe>  | 
	
		
 Попробуй this.form.submit() . 
	Кстати, HTML не чувствителен к регистру, так что можно писать onchange для консистенции, тем более что одноименное свойство пишется именно onchange, а не onChange  | 
	
		
 Цитата: 
	
 Вот код: 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript">	
	
		function hideBtn(){
			$('#upload').hide();
			$('#res').html("Идет загрузка файла");
		}
		
		function handleResponse(mes) {
			$('#upload').show();
		    if (mes.errors != null) {
		    	$('#res').html("Возникли ошибки во время загрузки файла: " + mes.errors);
		    }	
		    else {
		    	$('#res').html("Файл " + mes.name + " загружен");	
		    }	
		}
	</script>
<?php
if(isset($_POST['upload'])){
    //Список разрешенных файлов
    $whitelist = array(".gif", ".jpeg", ".png");
	$data = array();
	$error = true;
	//Проверяем разрешение файла
    foreach  ($whitelist as  $item) {
		if(preg_match("/$item\$/i",$_FILES['userfile']['name'])) $error = false;
    }
    //если нет ошибок, грузим файл
    if(!$error) {
		$folder =  '/home/tmp/';//директория в которую будет загружен файл
		$uploadedFile =  $folder.basename($_FILES['userfile']['name']);
		if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
			if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadedFile)){
		        $data = $_FILES['userfile'];
                $data['md5_file']=md5_file($uploadedFile);
			}
			else {
				$data['errors'] = "Во время загрузки файла произошла ошибка";
			}
		}
		else {
			$data['errors'] = "Файл не загружен";
		}
    }
    else{
		$data['errors'] = 'Вы загружаете запрещенный тип файла';
    }
    //формируем js-файл
    $res = '<script type="text/javascript">';
    $res .= "var data = new Object;";
    foreach($data as $key => $value){
    	$res .= 'data.'.$key.' = "'.$value.'";';
    }
    $res .= 'window.parent.handleResponse(data);';
    $res .= "</script>";
    echo $res;
}
else{
	die("ERROR");
}
?>
 | 
	
		
 Цитата: 
	
 Спасибо Хотя поченму не работает по другому не понятно:-E  | 
	
		
 Привед велосипедостроителям ))) 
	$ext = pathinfo($file, PATHINFO_EXTENSION);  | 
| Часовой пояс GMT +3, время: 08:18. |