Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   скрытый фрейм (https://javascript.ru/forum/misc/27549-skrytyjj-frejjm.html)

bpystep 16.04.2012 19:35

скрытый фрейм
 
есть скрытый фрейм:
var frame = document.createElement('iframe');
		frame.setAttribute('style','width:0px;'+'height:0px;'+'border:0px;');
		frame.name = 'hiddenframe';
	elem.appendChild(frame);


форма:
var form = document.createElement('form');
		form.action = 'admin/modules/users.php';
		form.method = 'post';
		form.target = 'hiddenframe';
	elem.appendChild(form);


и есть событие понажатию кнопки:
var submit = document.createElement('input')
				submit.id = 'saveGet'+value;
				submit.name = 'savePOST';
				submit.onclick = function() {
					elem.innerHTML = inner_html;
				}
				submit.type = 'submit';
				submit.value = 'сохранить';
form.appendChild(submit);


но когда происходит submit.onclick PHP-сценарий выполняется в фрейме в отдельной вкладке. как сделать так, чтобы выполнялось в скрытом фрейме, и не открывалось новая вкладка

Octane 16.04.2012 20:08

у формы target должен указывать на name фрейма

bpystep 16.04.2012 20:20

Цитата:

Сообщение от Octane (Сообщение 169428)
у формы target должен указывать на name фрейма

так и есть. разве нет?

form.target = 'hiddenframe';

frame.name = 'hiddenframe';

bpystep 18.04.2012 05:14

ау...

Kolyaj 18.04.2012 09:26

Цитата:

Сообщение от bpystep
elem.innerHTML = inner_html;

А зачем вы перетираете содержимое elem?

bpystep 18.04.2012 16:23

суть всего скрипта такова:
1) на страницу грузится информация пользователя
2) админ кликает по полю с информацией которую нужно изменить (логин, ФИО,номер телеона, мыло)
3) это поле заменяется на форму с <input type="text">
4) админ вводит нужную инфо, она проходит валидацию, если не тру, то подсвечивается красным, если тру то появляется ниже input-а кнопка сохранить
5) при клике по кнопке, в скрытый фрейм грузится *.php, который меняет данный в БД
6) форма с input-ом заменяется на первоначальное состояние, с заменой отредактированного поля, которое хранится в inner_html.

если необходимо могу выложить весь скрипт.

Kolyaj 18.04.2012 16:34

Т.е. вы на 6-м шаге ифрейм удаляете?

bpystep 18.04.2012 18:37

да, так и есть. намек понятен, щас перепишу.
спасибо за помощь, все получилось.


Часовой пояс GMT +3, время: 16:13.