Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JavaScript и диалоговое окно 
:(
    Опции темы
pentium
Дата 6.8.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 2.2.2007

Репутация: нет
Всего: нет



Здравствуйте Уважаемые программисты!   

У меня такой вопрос.  У меня текстовой редактор на Веб странице. На редакторе есть кнопка для вставки рисунка прямо в редактор.  При вставке  рисунка в теге  <img src="  будет равен полному пути выбранного файла,  а мне бы хотелось что бы это было только имя файла.  Можно ли узнать имя файла которого выбрал клиент в диалоговом окне и присвоить его в тег.
PM MAIL   Вверх
Alx
Дата 6.8.2007, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



pentium, 
name.substring(name.lastIndexOf("/")+1)


--------------------
PM MAIL WWW ICQ   Вверх
pentium
Дата 8.8.2007, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 2.2.2007

Репутация: нет
Всего: нет



Уважаемый  Алх!  Спасибо Вам за ответ.   Но Я вот этот     name         и ищу.  Не знаете как его достать.
PM MAIL   Вверх
Alx
Дата 8.8.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



name это то, что содержится в переменной после ввода. например C:/Temp/xxx.jpg данный код вернет xxx.jpg


--------------------
PM MAIL WWW ICQ   Вверх
Astraller
Дата 8.8.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

Репутация: 2
Всего: 5



если я правильно понял:
Код

name=document.getElementById('[ID инпута]').value;


Это сообщение отредактировал(а) Astraller - 8.8.2007, 17:05


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
Alx
Дата 8.8.2007, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ну да


--------------------
PM MAIL WWW ICQ   Вверх
smartov
Дата 8.8.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Но ведь это
Цитата(Alx @  6.8.2007,  16:00 Найти цитируемый пост)
name.substring(name.lastIndexOf("/")+1)

актуально только для линукса smile в винде разделитель пути - '\'
PM MAIL   Вверх
Alx
Дата 9.8.2007, 03:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



smartov, 
и вправду smile

тогда так:
Код

    name = name.replace(/\\/g,"/");
    obj.value = name.substring(name.lastIndexOf("/")+1);


только толку вссе равно мало, т.к. если obj - input:file, политика безопасности не даст менять его value..

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  1553349_5000112.jpg 18,03 Kb


--------------------
PM MAIL WWW ICQ   Вверх
smartov
Дата 9.8.2007, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Цитата(Alx @  9.8.2007,  02:29 Найти цитируемый пост)
если obj - input:file, политика безопасности не даст менять его value

Да. 
Поэтому наверное стоит вот так

Код

<body>

<input type="file" id="my_file_field_id" />
<input type="button" onclick="alert(get_filename('my_file_field_id'));" value="Show me that filename!" />

<script>

var OSName="";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";

function get_filename(file_field_id) {
    if (file_field_id == null)
        return;
    
    var file_field = document.getElementById(file_field_id);
    if (file_field == null)
        return;

    if (OSName == "")
        return;

    var full_filename = file_field.value;
    var filename = '';

    //find filename concerning path separator type
    switch (OSName) {
        case "Windows":
                filename = full_filename.substring(full_filename.lastIndexOf("\\")+1);
            break;

        default:
                filename = full_filename.substring(full_filename.lastIndexOf("/")+1);
            break;
    }

    //remove single and double quotes from line end if any found
    filename = filename.replace(/["']$/, "");

    return filename;
}

</script>

</body>

PM MAIL   Вверх
Alx
Дата 9.8.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



а что это меняет? и почему по вашему это лучше, чем просто перебить все слеши вправо?


--------------------
PM MAIL WWW ICQ   Вверх
smartov
Дата 9.8.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Alx, 
Цитата(Alx @  9.8.2007,  12:01 Найти цитируемый пост)
а что это меняет?

работает везде верно

Цитата(Alx @  9.8.2007,  12:01 Найти цитируемый пост)
и почему по вашему это лучше, чем просто перебить все слеши вправо? 

Ты притворяешься или издеваешься не пойму что-то.
Цитата(Alx @  9.8.2007,  02:29 Найти цитируемый пост)
input:file, политика безопасности не даст менять его value.. 


PM MAIL   Вверх
Alx
Дата 9.8.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(smartov @  9.8.2007,  13:36 Найти цитируемый пост)
Ты притворяешься или издеваешься не пойму что-то.
Цитата(Alx @  9.8.2007,  02:29 Найти цитируемый пост)
input:file, политика безопасности не даст менять его value.. 

хочешь сказать, что твой пример позволит его менять?
он все равно не решает задачу, ты всего лишь добавил кнопку и остальной html-код..
если я добавлю то же самое к моему примеру работать будет точно также, и везде.
и кода в 3 раза меньше:

Код

<body>
<input type="file" id="my_file_field_id" />
<input type="button" onclick="alert(get_filename('my_file_field_id'));" value="Show me that filename!" />
<script>
function get_filename(file_field_id) {
    var name = document.getElementById(file_field_id).value;
    name = name.replace(/\\/g,"/");
    return name.substring(name.lastIndexOf("/")+1);
}
</script>
</body>


я пытаюсь помочь, а не издеваюсь ни над кем, выбирай выражения../

Это сообщение отредактировал(а) Alx - 9.8.2007, 14:52


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0995 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.