|
|
|
| Добрый день, уважаемые.
Помогите решить задачку:
Имеется файл 1.php, в нем есть input возвращающий значение $num и iframe, в который грузится 2.php. В нем рисуется таблица, в которую данные грузятся из БД, касающиеся номера $num, в ней мне нужно редактировать, добавлять и удалять строки.
Изначально таблица пустая. Для добавления новой и последующих строк строки сделал ссылку [html] <a href='' onclick='window.open("LINK","NAME","PRMTR");'><img src='img/add.png' title='Добавить' style='margin:0 5px 0 0'></a> [/html]
Вопросы:
1. Как передать $num сначала из 1.php в 2.php а потом в окно NAME, созданное javascript ? Из 1.php в 2.php впринципе понятно - сессии (но может еще есть какой способ ?). А из 2.php в созданное окно как значение передать ?
2. Как после добавления данных в окне NAME обновить iframe, а точнее 2.php в нем ? Примеры гугл показывает, но я с javascript дружу очень плохо, на пальцах бы мне обьяснить. | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 20:08)
| | Из 2.php куда-то что-от передать нельзя, это скрипт на сервере, а нужно говорить об элементах на станице уже у клиента, из из какого элемента и куда. Заведомо известный номер на стороне сервера можно только подставить как параметр, например, в строку js-кода описывающего вызов JS функции.
О каком добавлении новостей может идти речь, если даже и не упоминается никакой формы, ни какой ссылки на обработчик? Где форма, кому номер? | |
|
|
|
|
|
|
|
для: sim5
(19.08.2010 в 20:51)
| | Понял, что имеете в виду.
Т.е. если вместо простой ссылки сделать форму и передавать значения post'ом, а в обработчике onSubmit этой формы вызывать javascript'ом окно - так прокатит ? | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 21:04)
| | Зачем вам окно? Для чего вы используете iframe? Не что вы туда помещаете, а суть его назначения какова? | |
|
|
|
|
|
|
|
для: sim5
(19.08.2010 в 21:07)
| | iframe для того, что б таблица с содержимым не растягивалась далеко вниз, а тупо скроллилась в окне заданного размера.
А скриптом маленькое окно зачем вызываю.. Да потому что страница в целом загружена очень сильно, на ней ведь не только один input с iframe :)
А в чем трудность то ? На многих сайтах что-то подобное реализовано, неужели это настолько капризная конструкция ? | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 21:19)
| | То что у вас во фрейм загружено, можно считать потерянным для индексации. А вот прокручивать что-то в окне, так это можно и в элементе DIV сделать, не обязательно для этого IFAME применять.
Слишком загружена страница, так это ваши проблемы, возможно лучше и убрать нечто. Но если все нужное, то кто вам запрещает показывать/скрывать форму для добавления сообщений, которая просто на этой же странице находится?
Вот представьте себе, что на странице этой (форума, с вашей темой) вместо того чтобы был переход на страницу добавления сообщения, после клика на ссылке "Ответить", внизу под этим сообщением раскрывалась форма, которая скрытым полем передает номер записи (id сообщения, на которое вы отвечаете). Зачем новое окно? К тому же, зачем некий номер? Он то для чего? Если "таблица которая из базы выводиться......" это записи некоего сообщения, и новое сообщение вы добавляете только для нее, то номер этот известен, и в форме уже должен быть прописан явно. | |
|
|
|
|
|
|
|
для: sim5
(19.08.2010 в 21:27)
| | Отлично, убедили.
Убираем фрейм, делаем в диве. Как в этом случае передать значение переменной в окно, созданное javascript ? :) | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 21:34)
| | Зачем вам окно? Знали вы бы только как они раздражают... Я же вам писал, что сделать можно лучше и удобнее. А передать, так это аргуметом в функцию можно, вот только кому?
Сдается мне, что у вас просто бардак какой-то, или вы не можете описать что, для чего, почему, и создается такое впечатление. | |
|
|
|
|
|
|
|
для: sim5
(19.08.2010 в 21:40)
| | Уважаемый, я не спрашиваю как лучше и удобнее, скрипты делаются для узкого круга людей в пределах одного предприятия и в данном случае лучше и удобнее делать именно так, как я описываю.
Сорри за резкость :) | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 21:47)
| | Вот что уважаемый, хотите окно, бог с вами, но вы так и не ответили до сих пор, куда вы собираетесь пихать это ваш номер. И что вам отвечать тогда? В раздел HTML + JS, может там вы сможете объяснить и вас поймут, чего и куда вы хотите передать, а я не гадалка. | |
|
|
|
|
|
|
|
для: sim5
(19.08.2010 в 22:14)
| | Изначально номер - это номер обьекта в БД.
То, что редактируется в таблице, которая изначально была в фрейме - данные, привязанные к этому номеру.
В окне js будет добавление данных в эту таблицу с привязкой к номеру. | |
|
|
|
|
|
|
|
для: korshun
(19.08.2010 в 22:29)
| | Вы либо настолько не понимаете html-иерархию дукумента, либо не понимаете, что у вас спрашивают, что объяснить вам что-то затруднительно.
JS-метод window.open сам по себе ничего не выдумывает, а открывает окно, содержимое которого будет отображать либо страницу указанную в его первом аргументе (что у вас дипломатично отмечено как LINK), либо записаный методом JS некий html код, в вашем случае надо полагать это будет форма, в это окно по его имени (второй аргумент метода).
Вы постоянно задаете вопрос - "как передать номер", а вы в свете вышесказанного попробуйте ответить на вопрос - "кому?". Вы что полагаете, что стоит выплюнуть этот номер в открытое вами окно, и он сам по себе найдет хозяина? Думаю, что нет, не думаете так, так чего тогда топчитесь и не можете объяснить, что у вас, кому и почему....
Не знаю откуда у вас рожается этот номер, пусть, например, это будет результатом выбора пользователя некой записи для редактирования, и при этом он обращается к странице а.php, и номер известен, и он не только изначалный, а неизменяемый для данной записи. Эта страница выводит эту запись, и сохраняет в сессии ее номер. Открывая окно, вы загружаете в него страницу b.php, которая отображает форму, в которой скрытым полем передается этот номер, взятый из сессии. После удачного добавления записи, открытое окно надо закрыть, а родительское перегрузить. Это один из способов, подойдет ли он вам, бог его знает, потому как что там у вас - тайна покрытая мраком.
Более конкретно чего у вас и как бы вам хотелось - это в раздел HTML+JS форума обращайтесь, в этом разделе JS вопросами не увлекаются, не РНР это задачи. | |
|
|
|
|