Как ввести имя каталога в форму?

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем erdn, 1 июн 2006.

Статус темы:
Закрыта.
  1. erdn

    erdn Гость

    Как известно,
    (http://www.w3.org/TR/html4/interact/forms.html#h-17.4)
    тип "директория" в тег INPUT ввести нельзя.

    Тем-не-менее, иногда очень нужно.
    То есть, как при вводе File чтобы открывалось дерево каталогов и можно было-бы выбрать каталог.
    И передавать через форму текстовое поле с содержимым -- полный путь к директории.

    Всё, что приходит на ум -- это перехват onSubmit при вводе файла,
    смена типа на text с исходного file
    и отрезание лишнего файла в конце.

    У этого пути есть один существенный недостаток -- нужно ,чтобы в каталоге лежал хотя-бы один файл.


    Уважаемые кодеры-программеры-дизайнеры, есть ли способ более простой и без этого недостатка???
     
  2. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    Где-то что-то подобное в HTA я видел, но давно...
    В примере показывалось, как с помощью HTML Application сделать броузер.

    Но давно было - уж и не помню где нашел.
    Искать снова?
     
  3. erdn

    erdn Гость

    Если вас это не очень затруднит. Полдня убил на поиски, ничего путного. Как-будто, проблемы не существует...
     
  4. erdn

    erdn Гость

    Попробовал отработать изложенный вначале алогритм:

    <form name="mform" action="script.php" method="post" enctype="multipart/form-data">
    <input type="file" size=80 name="scan" value = "same default value">
    <input type="submit" name="submit" value="Отправить" onSubmit="document.mform.scan.type='text';">

    Почему-то ни ошибки ни выдаёт, ни форма нужный результат не отправляет...
     
  5. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    Честно говоря - затруднит :)
    Но я бы попробовал следующее:
    Код (Text):
    <form name="mform" action="" method="post" enctype="multipart/form-data">
    <input type="file" size=80 id="ToDoValue" value = "Enter directory">
    <input type="hidden" size=80 id="scan" value = "">
    <input type="button" name="submit" value="Отправить" onClick="document.mform.scan.value=document.mform.toDoValue.value;">
    В результате при нажатии на кнопку (onClick, а не onSubmit в моем случае) я работаю уже с текстовой переменной - которую можно тягать, обрабатыввать, пришивать к ней что угодно или отрезать - как в нашем случае :)
     
  6. erdn

    erdn Гость

    Замечательно!
    Так работает.
    Большое спасибо. Осталось только имя файла обкромсать, но это уже дело техники...
     
  7. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    В той же функции, которая будет по onсLick можно проверить саму передаваемую строку (есть она или нету), обкромсать ее, передать обратно в форму, а форму - сабмитить :)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей