работа с выбором файла
Доброго времени суток.Помогите разобраться. Знаю что делаю не совсем корректно а точнее совсем не корректно,но другого способа не знаю.
почему когда выбирается файл пишется полное его имя с путём. а переменной присваивается только часть -без пути. хотя по идее должно присваиваться всё то что в теге выбора. замена value на src не помогает. также не помогает и прописывание пути к серверу в теге формы <!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=utf-8" /> <title>Untitled Document</title> <style type="text/css"> <!-- --> </style> </head> <body> <form id="form1" name="form1" > <input type="file" name="ld" id="ld" /> <input type="submit" name="kn" id="kn" value="Submit" onClick="fz();"/> </form> <script> function fz() { var z=document.form1.ld.value; alert(z); } </script> </body> </html> |
Все логично и по другому никак:
<input type="file" name="input" />
<script type="text/javascript">
window.onload = function(){
document.getElementsByName('input')[0].onchange = function(){
alert(this.value);
};
};
</script>
|
или как вариант возможно ли размещение открываемого граф файла в iframe для дальнейшей работы с ним или в графический массив?без отправки на сервер поскольку для этих целей используется XMLHttpRequest
|
Максимум что можно получить с помощью JS:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="input" />
</form>
<script type="text/javascript">
window.onload = function(){
document.getElementsByName('input')[0].onchange = function(){
var file = this.files[0];
alert('fileSize: '+file.fileSize+'\n\nfileName: '+file.fileName+'\n\nContent: \n'+file.getAsBinary());
};
};
</script>
|
Цитата:
|
Цитата:
Некоторые верси Firefox (до 3) могут показать полный путь, в остальном исключение в виде названия файла:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="input"/>
</form>
<script type="text/javascript">
window.onload = function(){
document.getElementsByName('input')[0].onchange = function(){
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch(e) {
alert(this.files[0].mozFullPath);
return;
}
finally {
alert(this.value);
}
};
};
</script>
|
| Часовой пояс GMT +3, время: 14:38. |