|
|
|
|
|
для: Николай2357
(21.07.2008 в 21:02)
| | Вообще, спасибо за совет. В следующий раз буду иначе строить всю архитектуру. Просто в связи с недостатком знаний пытаюсь проблемы решать по мере их поступления. Это до добра, конечно же, не доводит. | |
|
|
|
|
|
|
|
для: sim5
(21.07.2008 в 20:18)
| | >Да нет, никто не мешает. Но у меня в основном не проверка, а предварительная обработка. Вообще это редактор. Скрипт достаточно большой и на onsubmit повешана подготовка результата скрипта к отправке. А в зависимости от того, выбран ли файл (это одна из операций), подготовка проходит поразному. Если проверку делать на сервере, все результаты скрипта насмарку. Так что это не оборона, а попытка помочь юзеру не делать глупости. | |
|
|
|
|
|
|
|
для: Николай2357
(21.07.2008 в 19:45)
| | Кто вам мешает вместо вашего геморроя, указать событию формы onsubmit функцию, которая и будет прверять заполнение формы. Если у вас куча кнопок по отправке одной формы, то это уже нечто. Вся ваша проверка у клиента, это лишь "первый эшелон обороны", главное на сервере. | |
|
|
|
|
|
|
|
для: sim5
(21.07.2008 в 19:29)
| | Да вот в том и дело, что не одно. И кнопка отправки не одна. Поэтому и <button>, а не <input type="submit"> И onsubmit тоже не получилось, там до отправки еще обработка есть, которая нежелательна, если файл не выбран. Оттого и весь этот геморрой... | |
|
|
|
|
|
|
|
для: Николай2357
(21.07.2008 в 18:51)
| | Действительно коряво. Если у вас в форме всего одно поле, то достаточно так:
<form action="" method="post" enctype="multipart/form-data"
onsubmit="if(!this.as.value) return false">
<input type="file" name="as">
<input type="submit" value="Send">
</form>
|
| |
|
|
|
|
|
|
|
для: sim5
(21.07.2008 в 12:58)
| | Спасибо всем. Обобщив все вышесказанное, родил такого монстрика:
<script>
var subm=0;
function Sub(pr){
if(pr==1){
subm=1;
}
if(pr==2&&subm==0){
alert("Файл не выбран");
}else{
if(pr==2&&subm==1){
document.form1.submit();
}
}
}
</script>
<input type="button" value="Отправить" onclick="Sub(2)">
<input type="file" name="as" onchange="Sub(1)">
|
Корявенько, конечно, но работает.
PS.
>
<input type="button" onclick="if(this.form.file1.value)this.form.submit()">
Не проверял, но должно.
Жаль, что не работает, может у меня руки кривые... | |
|
|
|
|
|
|
|
для: PAT
(21.07.2008 в 12:25)
| | Почему это нельзя? Записать значание - да, а вот прочитать:
<input type="file" name="as" onchange="alert(this.value)"> | |
|
|
|
|
|
|
|
для: Николай2357
(21.07.2008 в 07:24)
| | В браузере - никак.
Прочитать значение VALUE oбъекта <input type="file"> НЕЛЬЗЯ (по соображениям безопасности).
Так что - только на сервере после сабмита формы. | |
|
|
|
|
|
|
|
для: Николай2357
(21.07.2008 в 07:24)
| | <input type="button" onclick="if(this.form.file1.value)this.form.submit()">
Не проверял, но должно. | |
|
|
|
|
|
|
| Здравствуйте.
Подскажите, как проверить что файл выбран?
<script>
function Sub(){
if(??????????){alert("Файл не выбран");
}else{
document.form1.submit();
}
</script>
<form name=form1>
<input typ=file name=file1>
<input typ=button onClick='Sub()'>
</form>
|
Спасибо. | |
|
|
|
|