nixp.ru v3.0

27 мая 2017,
суббота,
22:33:33 MSK

DevOps с компанией «Флант»
raba написал 7 декабря 2009 года в 14:29 (1936 просмотров) Ведет себя неопределенно; открыл 33 темы в форуме, оставил 77 комментариев на сайте.

Вопрос: как перенаправить «<input type=«…"» textarea="">

На данный момент все верно работает, только вывод перенаправляется в не в 'textarea' а в чостое окошко браузера, а хотелось бы в textbox задом на перед.


<center>
<table background=«pic.gif%20or%20bgcolor» border=«5»>
<tr>
<td align=«center»>
<table bgcolor=«#22222» border=«0»>
<tr>
<td>
<form name=«jump»>

<select name=«listbox»>
<option value=«/tmp/u1.log»>MAYBE</option>
<option value=«filename.HTML»>NOTHING</option>
</select>

<input type=«button» width=«400» onclick="location=document.jump.listbox.options[document.jump.listbox.selectedIndex].value;» value=«Ny..»>
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>

<textarea readonly=«readonly» name=«news» rows=«30» cols=«110»>
</textarea>

….

Дмитрий Шурупов

Я бы добавил к textarea что-нибудь типа id=«news», а потом заменил бы значение onClick на:

document.getElementById('news').value=document.jump.listbox.options[document.jump.listbox.selectedIndex].value;
raba

Ну вроде прописал что прорекомендовали,но не совсем понимаю как именно данные перейдут в textarea? Не могли бы показать на примере. Вот что получилось, знаю что пока textarea пуста, но что и куда именно прописать чтоб заполнить, или если неправильно выразился, то нужно вылить в нее содержание взято из /tmp/u1.log типа 'cat /tmp/u1.log' -> textarea?


<center>
<table background=«pic.gif%20or%20bgcolor» border=«5»>
<tr>
<td align=«center»>
<table bgcolor=«#22222» border=«0»>
<tr>
<td>
<form name=«jump»>

<select name=«listbox»>
<option value=«/tmp/u1.log»>MAYBE</option>
<option value=«filename.HTML»>NOTHING</option>
</select>

<input type=«button» width=«400» onclick="location=document.getElementById(’news’).value=document.jump.listbox.options[document.jump.listbox.selectedIndex].value;» value=«Ny..»>
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>

<textarea readonly=«readonly» id=«news» name=«news» rows=«30» cols=«110»>
</textarea>

Дмитрий Шурупов

Ах, так вам содержимое файла… Ну, без некоторых ухищрений это невозможно. В качестве примера такого ухищрения — ajax-запрос к (php/perl/…)-скрипту на сервере, у которого есть право на чтение нужного файла и который будет читать файл, возвращать его содержимое javascript-у.

raba

ну вот допустим что сумел кое-как модифицировать вышеуказаный пример к следующим


<form name=«base»>

<select name=«listbox»>
<option value=«all/u1.log»>user1</option>
<option value=«all/u2.log»>user2</option>
</select>

<input type=«button» width=«400» onclick="location=document.getElementById(’news’).value=document.base.listbox.options[document.base.listbox.selectedIndex].value;» value=«Show»>

<textarea readonly=«readonly» id=«news» name=«news» rows=«30» cols=«110»>
</textarea>
</form>

На данный момент работает так: при нажатии на кнопку файл асоциирован с выбранным ел. из списка listbox разпечатывается НЕ в textarea а в пустое окошко браузера, !!а сам путь выводится в textarea!! С выводом его задом на перед решение якобы есть только не знаю куда его впихнут и что модифицировать под него

<?php
$filename=«all/».basename($_POST["listbox"]);
$fh = file($filename);
$fh = array_reverse($fh);
for ($i=0; $i<count($fh); $i++) echo $fh[$i];
?>

прошу помочь.

Дмитрий Шурупов

Вы понимаете, как работает AJAX? Вам потребуется web-сервер с исполняемыми PHP-скриптами, чтобы такая штука сработала (я про приведенный вами PHP-код). Если нужно выводить содержимое файла с самого компьютера, на котором открывается этот HTML-документ, то веб-сервер должен быть запущен на этой же машине.

А как работать с AJAX — возьмите какой-нибудь JS-фреймворк типа JQuery или prototype и воспользуйтесь его средствами — там это все довольно просто, в документации есть примеры.