|
|
|
Supreme Being
      
участник
Last Login: 04.07.2007 23:09
Сообщ.: 174,
Visits: 1 474
|
|
| И так задача: Есть форма, на форме поле ввода типа "file". Нужно подменить кнопку "обзор" картинкой и отнести ее (картинку) подальше от основного поля ввода. Вот как я это сделал: <tr> <td background="images\input.gif" height="33" width="422"> <input type="text" name="filename" style="width: 415;"></td> <td width="70"> </td> <td width="150" align="right"><div style="visible:false; display:none;"><input type="file" name="dialog" onChange="filename.value=dialog.value;"></div><a href="javascript: p2m.dialog.click();"><img src="images\browse.gif"></a></td> </tr> Т.е. поле ввода типа файл - невидимое. Окно диалога выбора файла вызывает при кликаньи мышкой по изображению: <a href="javascript: dialog.click();"><img src="images\browse.gif"></a>. При каких-то изменениях в текстовом поле типа file текст этого поля передается в текстовое поле filename: <input type="file" name="dialog" onChange="filename.value=dialog.value;"> ПРОБЛЕМА ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО СКРИПТ РАБОТАЕТ В IE, НО НЕ РАБОТАЕТ В OPERE. Что я сделал не так??? Заранее благодарен.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 25.04.2007 11:57
Сообщ.: 77,
Visits: 97
|
|
| Если я не ошибаюсь то проблема в прямом обращении к полям, тут где то в моей теме одной писали что лучше использовать window.document.getElementById() - это точно и без ошибок отработает любой броузер. Ищет как по ИД так и по имени
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.07.2007 23:09
Сообщ.: 174,
Visits: 1 474
|
|
| :( не работает!!! Не выходит каменный цветок... тьфу... т.е не появляется окошко... написал вот так: window.document.getElementById('dialog').click(); а результат тот же, но ошибку не выдает. и FireFox мозг компосирует:( Что еще может быть? Большое спасибо за то, что откликнулся!!!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 25.04.2007 11:57
Сообщ.: 77,
Visits: 97
|
|
| Лично у меня ни одна джаваскриптовая функция еще не принимала параметры заключенные в одинарные кавычки, только в двойные. Может быть это только у меня такая проблема, но ты всетаки проверь ) Вообще чтобы не путаться хорошая как мне кажется привычка атрибуты ХТМЛ тегов заключать в одинарные кавычки, а джаваскриптовые строки в двойные, а то напишешь к примеру <button onclick='getElementById('element_id')'> и что думаешь - сработает? Щас, преобразуется тут же в <button onclick='getElementById(' element_id')'> и вторую часть смело проигнорирует как неопознанный атрибут, а первую - как неправильное действие :)
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.07.2007 23:09
Сообщ.: 174,
Visits: 1 474
|
|
| ну а у меня наоборот: сначала двойные кавычки, потом одинарные. думаю, что это не принципиально. но все равно не работает. что тут еще может быть?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 25.04.2007 11:57
Сообщ.: 77,
Visits: 97
|
|
| Так, скорее всего проблема гдето тут <a href="javascript: dialog.click();"><img src="images\browse.gif"></a> Я в общемто не очень понимаю что значит javascript: p2m.dialog.click() , просто незнакомая форма записи, но попробуй переписать это как <img src="images\browse.gif" onclick='dialog.click()'> ну и конечно прямые обращения к именам замени всеже на вызов функции как я писал в начале
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.07.2007 23:09
Сообщ.: 174,
Visits: 1 474
|
|
| да, сегодня подобная мысль меня уже посещала. я попробовал сделать обработчик события onclick - та же барадаааа. в IE работает, в Opera Or FireFox - не фига. Заказчик уже обещает порвать пасть...:( Может тоже настройки?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 25.04.2007 11:57
Сообщ.: 77,
Visits: 97
|
|
| фиг его разберет. Приведи всю рабочую часть от <form> до </form> попробуй убрать visible, оставь только display : none поменяй все обращения по идешникам напрямую на то что я сказал через функции и продублируй имена идшниками поменяй одинарные кавычки в джаве на двойные и соответственно в ХТМЛ наоборот чтобы было правильно Поменяй все имена и ИДшники компонентов, вообще все переменные имена которые ты используешь на имена вида my_имя, может быть где то какой то внутренний параметр захватил нечаянно. Если все это вместе не дало ефекта попробуй использовать другой обработчик событий:http://xpoint.ru/know-how/JavaScript/PoleznyieFunktsii#NaznachenieNeskol'kihObrabotch Перепроверь код на наличие опечаток или мелких глюков, ИЕ их пропускает, а вот оперы и файерфоксы могут и не пустить. И напиши наконец какая ошибка пишется, если пишется какая то? А еще лучше дай линк на эту страницу, эсли это возможно )
|
|
|
| | |