Kompx.com or Compmiscellanea.com

JavaScript submit form

Windows : Internet Explorer 4.01+, Firefox 1.0+, Google Chrome, Opera 3.0+, Safari 3.1+, SeaMonkey 1.0+ [ 1 ].

Linux : Firefox 1.0+, Google Chrome / Chromium, Opera 5.0+, SeaMonkey 1.0+ [ 2 ].

Обработка формы с помощью JavaScript. Выпадающий список (form + select + несколько option) обрабатывается без использования кнопки submit. Пример:

HTML / XHTML. Code:

<form action="action.php" method="post">

<select name="page" required="required" onchange="this.form.submit()">

<option value="" selected="selected" disabled="disabled"> --- Выбрать страницу --- </option>

<option value="http://www.kompx.com/ru/os/linux-1.htm">Linux</option>

<option value="http://www.kompx.com/ru/os/windows-1.htm">Windows</option>

<option value="http://www.kompx.com/ru/os/dos-1.htm">DOS</option>

</select>

<noscript><input type="submit" value="Submit" /></noscript>

</form>

Когда в выпадающем списке выбирается одна из опций, состояние формы изменяется. Так что происходит событие onchange и запускается JavaScript в onchange: процесс обработки формы и передачи данных инициируется скриптом, а не кликом на кнопку submit, которая отсутствует.

Для работы с action формы назначается тот или иной скрипт [ 3 ], выполняемый на сервере. Скрипт принимает то, что отсылает форма и обрабатывает принятое. В данном примере используется PHP скрипт в action.php:

<?php

if (isset($_POST["page"])) {

    header("Location: $_POST[page]");

    exit;

} else {

    echo "Ничего не выбрано";

}

$_POST представляет собой массив из переменных, передаваемых данному скрипту методом HTTP POST. Так что $_POST[page] содержит значение атрибута value в одном из option внутри select. То есть, URL. Он передается от формы к PHP скрипту, а скрипт перенаправляет браузер на выбранный URL / страницу.

HTML код <noscript><input type="submit" value="Submit" /></noscript> присутствует в форме на случай, если JavaScript отключен. Тогда появится кнопка submit и форма все равно останется пригодной к использованию.


[ 1 ]

А так же в Netscape 3.04+, Mozilla 0.6+.

[ 2 ]

А так же в Netscape 3.04+, Mozilla 0.6+.

[ 3 ]

Если используется CMS, для работы с action формы может применяться один из ее собственных инструментов.


Aliosque subditos et thema

 

Распаковать несколько архивов

 

Распаковать с помощью unzip в командной строке Linux несколько zip-архивов в один каталог. Вопреки возможным ожиданиям, "unzip *.zip" работать не будет, *.zip необходимо взять в кавычки: unzip "*.zip" В архивах могут быть файлы с одинаковыми именами. Чтобы избежать перезаписи: unzip -B "*.zip" "Unzip -B" в процессе распаковки перезаписывает файлы с одинаковыми именами, но сохраняет их резервные копии. Новые имена для этих файлов создаются добавлением тильды ("~") в конец изначальных названий файлов. Если имеется расширение, то "~" добавляется после него. Если этого недостаточно, после тильды ("~") прибавляется уникальная последовательность цифр (до 5 знаков). "Unzip -B" не слишком рабочее решение. Например, поскольку диапазон последовательностей цифр может израсходоваться (99999 знаков, или 65535 для 16-битных систем), резервный файл с максимальным числом диапазона после "~" в названии стирается и замещается без уведомления новой резервной копией ( Более подробно ). Число файлов в архиве может быть не всегда известно заранее или оно может быть больше диапазона доступных чисел, так что "Unzip -B" не лучший вариант. Переименование файлов с одинаковыми именами с помощью добавления "~" в конце имен, после расширения тоже не слишком удобно. Но другой встроенный вариант еще хуже. Если модификатор "-B" не используется, то каждый раз, как распаковывается файл с таким же именем как уже был извлечен, unzip спрашивает "replace example.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:" ("заместить example.txt? да, нет, все, ни один, переименовать:"). Каждый раз нужно нажимать на "r" и каждый раз вводить новое имя. Так что для решения проблемы вероятно следует создать и использовать какой-то скрипт, bash или иной.

FTP в DOS

 

FTP в DOS. mTCP mTCP, пакет содержащий несколько утилит, одна из которых FTP. Аналогична FTP клиенту Windows разных версий, запускаемому из командной строки. Что бы установить и использовать mTCP: 1. mTCP [ Home page ] 2. Пакетный драйвер для сетевого адаптера Ethernet: http://www.crynwr.com/drivers/ http://www.georgpotthast.de/sioux/packet.htm 3. Создать папку, например C:\DRIVERS\, куда поместить пакетный драйвер 4. Настроить сеть. Например, с помощью Microsoft Network Client 3.0 [ Перейти ] 5. Запустить пакетный драйвер, в рассматриваемом случае: C:\DRIVERS\PCIPKT.COM 0x60 6. Распаковать архив с mTCP в любую папку, например C:\SOFT\MTCP, и создать в ней файл tcp.cfg со строками: PACKETINT 0x60 HOSTNAME FTP_V_DOS Значение PACKETINT - номер прерывания, использованный при запуске пакетного драйвера. Значение HOSTNAME - любое. 7. Запустить DHCP.EXE (DHCP настроит mTCP для работы с сетью): DHCP 8. Запустить FTP: FTP [ FTP адрес / host ] Будет предложено ввести имя пользователя, после - пароль. Затем лучше перевести работу в passive mode: XFERMODE PASSIVE [ Список основных команд, поддерживаемых FTP из пакета mTCP можно найти в файле ftp.txt, содержащемся в архиве пакета программ mTCP ] Для завершения работы: QUIT mTCP - лицензия GNU GPL v3.