![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Доброго времени суток всем!
Нужно сделать такое: при нажатии на ссылку открывается javascript окно, где выведена форма для редактирования ссылки. Передать из той формы надо все в некий php- файл или в тот же PHP_SELF, где будет использоваться полученная переменая. Подкиньте идейку как осуществить. Попытки производятся, но пока :error on page: |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Что за Error?
По идее ловим событие onClick якорей, открываем окошко, все изменения пишем в массив. Пользователь закончил с редактированием, жмет кнопку "Сохранить" и скрипт отсылает массив в невидимой форме POST'ом на сервер. Там ты получишь массив, делай с ним все что захочешь. Скажи где не ясно. Опиши точнее задачу. Если не получится, то помогу с кодом. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Captain Blood |
|
|||
|
Unregistered |
Создать окно можно таким способом, как показано ниже. При нажатии на ссылку откроется окно с заданными размерами и в него загрузится файл email.html. В этом файле уже имеется требуемая форма для редактирования ссылки и отправки ее на сервер.
<html> <head> <script language="JavaScript"> function newWindow() { window.open("email.html", "win", "width=400, height=300, status=0, menubar=0, location=0 resizable=0 directories=0 toolbar=0") } </script> </head> <body> <a href="javascript:newWindow()">Открыть в новом окне</a> </body> </html> |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Здравствуйте!
С окном вроде бы вчера разобралась. Но появилась идея сделать через prompt - при нажатии на конкретную ссылку выскочит prompt, туда пользователь введет новое значение ссылки, а я его запомню в БД. Только вот как обратиться к этой переменной потом в php? |
|||
|
||||
| Captain Blood |
|
|||
|
Unregistered |
Наверное проще присваивать значение Prompt скрытому полю формы и отправлять ее на сервер. Программа на php уже анализирует значения и делает с ними, что тебе надо.
Примерно так. <script> link = prompt("Введите ссылку",""); document.forms["formLink"].hiddenField.value = link; </script> ... <form name=formLink> <input type=hidden name=hiddenField> Скрипт лучше оформить в виде функции и вызывать ее при необходимости. |
|||
|
||||
| Captain Blood |
|
|||
|
Unregistered |
Подумалось, что можно сделать еще вот так.
<script> function Link(f) { link = prompt("Введите ссылку",""); f.hiddenField.value = link; // присваиваем введенное значение скрытому полю f.submit(); // отправляем форму на сервер } </script> ... <form name=formLink action="имя скрипта на php"> <input type=hidden name=hiddenField> f в данном случае ссылка на форму. Если к функции обращаться из нее, то вызов будет Link(this.form), если из Submit, то вызов - Link(this). |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Captain Blood, спасибо за помощь!! Сейчас попробую это сделать.
И примерно:
примерно так? |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
[code]
<script language="javascript"> function Link(f) { link=prompt("Input new value",""); f.hiddenField.value=link; f.submit(); } </script> <form name="formLink" action="<?=$_SERVER['PHP_SELF']?>" method="post"> <input type="hidden" name="hiddenField"> <a href="<?=$_SERVER[PHP_SELF]?>" onClick="Link(this.form)">aaa</a> </form> <?php echo $_POST['hiddenField']; ?> хммм, не выводит hiddenField |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Наконец-то сделала,уф.
Допустим, у меня есть несколько ссылок. При нажатии на каждую выскакивает окно, туда вписывается новое значение, а потом запоминается в БД. Все ок. А если у меня рядов так 10 выводятся из БД в цикле, в каждом из них расположено по 3 ссылки, например:
Чтобы узнать у кого - Пети или Юры изменить телефон на полученное значение, надо знать его имя. Как это сделать? Если передавать полем hidden, например, значение (Вася,Петя,...,Юра), то передается лишь последнее. Если же прямо в цикле передавать текущее значение имени в массив, то не знаю, как потом обращаться к элементу массива - ведь неизвестно, сколько записей всего и на какую по счету запись нажали... |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Sardar, ты писал, что можешь с кодом помочь, если там что неверно.
Если твое желание еще не пропало, то посмотри, пожалуйста, предыдущий пост и вот код:
Это сообщение отредактировал(а) Arisha - 28.5.2004, 20:59 |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Мне не понравилось что мы при любом изменении сразу же отправляем форму на сервер. Попробуем улучшить скрипт:
Код на скорую руку, но проверил, он работает. Работает везде кроме Opera, так как она криво работает с аттрибутами html элементов - мне не удалось достать name(идентификатор записи). На северре получаем массив $_POST['usr_data'], в котором лежат имя_tr=>значения|полей|через_вертикальную черту. Простейший код покажет все:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Огромное спасибо, Sardar!
Так действительно лучше. Буду разбираться. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Немного запутанно написал...
Содержимое ячеек доставал через childNodes[0-2].firstChild.nodeValue, т.е. в первых трех ячейках таблицы(DOM). Если что то не понятно, то спрашивай. Тема интересная, продумай логику скрипта, без поблажек, а так что бы действительно удобно было. А мы поможем превратить идею в код -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Arisha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 8.5.2004 Репутация: нет Всего: нет |
Хорошо, спасибо.
Я буду стараться. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |