Отмена события
В общем есть такая проблема. То есть при сробатывании события отправки формы скрипт должен проверить какой или какие файлы были загружены(сколько файлов, их тип ну их многое другое). Пытался по разному сделать например так. Но ничего не работает.
<script> $('#Otpravka234134').submit(function(e){ var a=document.getElementById('ava').files; if (a.length!=1){ e.preventDefault(); return false; alert("Загрузите адин файл. Тип загружаемого файла"+a[0].type); } } </script> |
Цитата:
Если a.length != 1, то зачем разрешать загрузку многих соответствующим полем, и зачем "... или какие файлы были загружены(сколько файлов, их тип ну их многое другое)."? |
Цитата:
|
Цитата:
Каким образом пользователь сможет загрузить несколько файлов, если ему этого не разрешать? Одним полем file загрузить несколько файлов можно только собственноручно прописав в нем multiple, и только в новых версиях браузеров, для старых с помощью нескольких таких полей? |
Цитата:
|
Вы где русский учили? :)
Отметь отправку формы: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script> $(function() { $('form').submit(function(e) { e.preventDefault(); $('div').text('Value as is not sent') }) }); </script> </head> <body> <form> <input name="as" value="1" /> <button>Send</button></form> <div></div> </body> </html> Может пояснить конкретней чего вы хотите сделать? Но с учетом того, что проверять загрузку файлов более одного при невозможности загрузить более не имеет смысла. Таковую проверку нужно делать на сервере, и зная, что клиент может отправить только один файл, при их большем количестве делать вывод, что форма левая. |
Да к стати. Хотелось бы спросить что если мне допустим надо загрузить какую ни будь аватарку ну или просто картинку. Но прежде чем отпровлять на сервер мне надо проверить расширение этого самого изображения и его размер. Размер в смысле ширину и высоту. Как такое можно сделать?? Желательно без cavans
|
Нужно обрабатывать событие onchange поля ввода:
$(function() { $('selector').change(function() { var im = new Image(), type = this.files[0].type; im.onload = function() { alert('Type: '+type+'\n'+'Width: '+this.width+'\n'+'Height: '+this.height) } im.src = this.value }) }); В IE6 тип можно было получить и с помощью свойства mimeType. |
Не работает. alert не работает.... такое ощущение что события и вовсе нет... Библиотека сразу говорю подключена Вот код
<form id="ka"> <input type="file" id="filess" name="files[]"/> <button type="submit"> </form> <script> $(function() { $('#filess').change(function() { var im = new Image(), type = this.files[0].type; im.onload = function() { alert('Type: '+type+'\n'+'Width: '+this.width+'\n'+'Height: '+this.height) } im.src = this.value }) }); </script> |
Цитата:
(function($){ //ваш jQuery код }(jQuery)); |
Часовой пояс GMT +3, время: 18:20. |