11.10.2014, 18:59
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Что за неведомая ... input type="image" ?
Фактура, сначала с попсового сайта
Цитата:
|
Tip: You can also access an Input Image object by searching through the elements collection of a form.
|
http://www.w3schools.com/jsref/dom_obj_input_image.asp
Забавно что они же сами пишут будто искать такой объект надо по id.
На академическом сайте про такой объект я вообще ничего не нашел, есть только про элемент http://www.w3.org/TR/html-markup/input.image.html
Забавно что они не раскрывают что такое выбор координат, удалось узнать у микрософтов, забавно что в заметках:
Цитата:
|
The x-coordinate is submitted under the name of the control with .x appended, and the y-coordinate is submitted under the name of the control with .y appended. Any value property is ignored.
|
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Вопрос такой: этот тип должен быть элементом формы, или как сделать чтобы он стал элементом формы? То есть чтоб входил в массив form.elements.
Второй вопрос. Элемент submit и событие submit и метод submit() это эквипенисуально, или чем они различаются? Допустим у меня есть кнопка submit, но я ж ее не ищу чтобы повесить на submit запрет submit().
Как только я начал контролировать эти сабмиты в js, они меня просто заколебали.
Насчет input type="image". Инстансь класса для форм в php умеет делать только input'ы и маленько label. Если ее научить делать все остальное это будет неконтролируемый тего-генератор - у меня такой уже есть, гавно получается как не крути.
|
|
11.10.2014, 19:34
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Чувак, ты с этой дискуссией опоздал лет эдак на пять ))
Вот тут такому же чудиле не спалось спокойно. Короче не включили в elements хз почему. Поздняк уже метаться. Мож забыли, мож забили, мож ненужно никому было.
Сообщение от kostyanet
|
Tip: You can also access an Input Image object by searching through the elements collection of a form.
|
Ну ошибочка у них, бывает. Я вобще тому сайту не особо доверяю.
Второй вопрос не понял. Ты не видишь разницу между сущностями "событие", "метод" и "элемент"?
__________________
В личку только с интересными предложениями
|
|
11.10.2014, 19:36
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Я вообще забыл что такой элемент есть)
Единственное применение, которое я ему видел - это замена кнопки submit, когда css не в моде был.
__________________
В личку только с интересными предложениями
|
|
11.10.2014, 20:38
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Надо тумбу сделать для селфи, не в подвале формы куда js валит тумбы на канвасе, а в уголоке справа. В силу особенностей упомянутого класса я подумал что есть же такой инпут как image и приделал его ничтоже сумняще. Сую ему src из метода генерации тумб в подвале - он показывает, все красиво. Но оказалось что он внаглую отправляет форму, не элемент и вообще никому нах не нужен - никакой считай инфы нет.
Придется заменять на img из js. Все равно из value инпута file файл х покажешь. То есть без js тумбы не будет, а там такая система чтоб и с js и без js работало эквипенисуально.
|
|
11.10.2014, 20:44
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
С ним, с image, еще такой прикол вышел. Инлайн я прописал onclick на щелчок скрытого file и в финале return false. А раньше был сделан переход на следующее поле по Ентеру - как в екзеле. Так эта сучара начала тыкать file по Ентеру. Я воткнул все какие вспомнил события - onkeyup, onkeypress... на return false - пофиг. Жмет на file и все. То есть по щелчку, в то время как клава щелкает только акустически. Видать где-то субмит его пролезает все-таки.
Забыл отметить контекст - он на стороне клиента. Юзер выбирает файл, картинку, из нее делается тумба. В подвале формы, в рамке Файлы. Там подпись - имя файла, размер, дата. То есть в селфи такое не воткнешь. С другой стороны можно и не втыкать - когда с подвала все успешно загрузится, тогда и воткнется с сервера сразу.
Последний раз редактировалось kostyanet, 11.10.2014 в 20:49.
|
|
11.10.2014, 20:53
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от danik.js
|
Второй вопрос не понял. Ты не видишь разницу между сущностями "событие", "метод" и "элемент"?
|
Я ее не вижу в кодах.
input type="submit"
this.form.submit()
form.addEventListener('submit'
Если бы я нашел кнопку и повесил на нее, так я не ищу, стало быть input вызывает form.submit() это метод который поджигает событие submit. Та вот, если я это событие затушил - никто не может его поджечь без моего согласия. А image, выходит, может.
Ну есть если у меня 100500 кнопок submit - я же имею право носить желтые штаны, или как я 100500 раз проконтролирую зарождение события? По-моему надо всего 1 раз. Но image - кладет. Внатури про него забыли. Странно. Полезная штука. Типа картинки в своем форменном домене.
Последний раз редактировалось kostyanet, 11.10.2014 в 20:56.
|
|
11.10.2014, 21:13
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Приколы продолжаются. Никаких координат хрень не передает. В запросе ее поля нет вообще. Но форму субмитит, поскольку есть name. Ладно, придется ликвидировать пережиток.
|
|
11.10.2014, 21:19
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от kostyanet
|
input вызывает form.submit() это метод который поджигает событие submit.
|
Ну ща потестил. Выводы такие:
метод submit() ничего не вызывает. Просто сабмитит форму.
Клик по кнопке вызывает событие submit формы и последующую отправку.
Клик по image - то же самое.
Нажатие enter в текстовом поле - эмулирует клик по submit-кнопке.
__________________
В личку только с интересными предложениями
|
|
11.10.2014, 21:39
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от danik.js
|
метод submit() ничего не вызывает. Просто сабмитит форму.
|
Это общий порядок действия js - они не жгут события элементов модели документа. Иначе, как это было в VB - охренеешь. Там если чекбокс ткнул из кода - сработает его функция.
Сообщение от danik.js
|
Клик по кнопке вызывает событие submit формы и последующую отправку.
|
Типа before_submit. Я понял почему image отправляет форму, потому что стоит проверка - если this.disabled то фигвам. Дизаблит его валидация. Как только все чики-пуки, дизаблед снимается и можно отправлять. А image не был дизаблед, но прилетал как this. Ну и все, я сам тупой.
|
|
12.10.2014, 11:19
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Заменил image на img и сразу же получил плюху:
this.form is undefined
а ведь так все было красиво, и одновременно уродски.
Когда html5 обогатил форму новыми тегами и атрибутами я подумал что форма начинает обретать форму нормального такого окна приложения, со всем своим собственным барахлом. В которое записал и image - должны же быт у формы свои картинки, которые в коллекции и с которых this.form и все такое. Облом.
|
|
|
|