Вход

Просмотр полной версии : скрытый фрейм


bpystep
16.04.2012, 19:35
есть скрытый фрейм:
var frame = document.createElement('iframe');
frame.setAttribute('style','width:0px;'+'height:0p x;'+'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
у формы target должен указывать на name фрейма

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

form.target = 'hiddenframe';
frame.name = 'hiddenframe';

bpystep
18.04.2012, 05:14
ау...

Kolyaj
18.04.2012, 09:26
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
да, так и есть. намек понятен, щас перепишу.
спасибо за помощь, все получилось.