Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Запрет на срабатывание кнопки (https://javascript.ru/forum/events/79955-zapret-na-srabatyvanie-knopki.html)

boooeller 10.04.2020 11:43

Запрет на срабатывание кнопки
 
Всем привет, такая задача:
нужно запретить публикацию записи если не выбрана для нее картинка, по логике я вижу так:
в инпута с таким то айти если value="-1":
https://prnt.sc/rvyh80

то вывести сообщение: "добавьте картинку" и запретить срабатывание кнопки:
https://prnt.sc/rvyio7

Подскажите пожалуйста, как такое реализовать?

laimas 10.04.2020 12:05

value="-1" - просто проверять не пустое ли значение.

boooeller 10.04.2020 13:19

Цитата:

Сообщение от laimas (Сообщение 522591)
value="-1" - просто проверять не пустое ли значение.

оно всегда не пустое, если нет картинки то "-1", если есть картинка то указывается айди картинки. как это кодом написать?

laimas 10.04.2020 13:28

О блин, это скрытое поле. Ну так коли север знает, что изображение есть (кстати, Id равное 0, конечно может быть, но только принудительно, а база такого не сделает, так что в таком случае уж 0, а не -1), то нет поля для загрузки, иначе есть поле для файла с обязательным выбором.

boooeller 10.04.2020 13:50

Цитата:

Сообщение от laimas (Сообщение 522599)
О блин, это скрытое поле. Ну так коли север знает, что изображение есть (кстати, Id равное 0, конечно может быть, но только принудительно, а база такого не сделает, так что в таком случае уж 0, а не -1), то нет поля для загрузки, иначе есть поле для файла с обязательным выбором.

я ничего не понимаю, с кодом можете помочь?

boooeller 10.04.2020 13:58

Цитата:

Сообщение от laimas (Сообщение 522599)
О блин, это скрытое поле. Ну так коли север знает, что изображение есть (кстати, Id равное 0, конечно может быть, но только принудительно, а база такого не сделает, так что в таком случае уж 0, а не -1), то нет поля для загрузки, иначе есть поле для файла с обязательным выбором.

я так понимаю мне нужно что то типа этого:
https://jsfiddle.net/o8g66ocx/1

но только адаптировать под свою задачу.

laimas 10.04.2020 14:55

Цитата:

Сообщение от boooeller
я ничего не понимаю, с кодом можете помочь?

Да в общем то можно обойтись нативной проверкой браузера. Допустим, если фото есть, то форма может содержать поле типа file, но не обязательное для выбора, оно служит чисто для возможности изменения фото. А если фото нет, то это поле уже обязательно для выбора.

Сервер отдавая страницу помещает это поле и (например, в случае РНР на сервере):

<input type="file" name="name" <?=!$row['file'] ? 'required' : null?> />


где !$row['file'] ? 'required' : null, это проверка некоторого значения поля базы указывающего на наличие или нет файла, для примера это $row['file']. Если оно пустое в базе, то поле file будет иметь атрибут required и браузер не разрешит отправление формы, если файл выбран не будет. А если фото есть, то этого атрибута не будет и выбор файла не обязателен.


Часовой пояс GMT +3, время: 12:28.