Как отправить HTML-форму во всплывающие окна с отключенным изменением размера? - PullRequest
2 голосов
/ 19 марта 2009

Я разработал HTML-форму с кнопкой отправки. Но вместо того, чтобы отправить его на другую страницу, я хочу отправить его во всплывающие окна, где я могу ограничить размер всплывающих окон, например, «320x240», скрыть все панели инструментов, отключить изменение размера.

1 Ответ

10 голосов
/ 19 марта 2009

Вот мой путь; этот фрагмент JavaScript должен идти в заголовок вашей страницы:

<script>
process = function()
 {
    window.open('about:blank', 'popup', 'width=320,height=240,resizeable=no');
    document.login.setAttribute('target', 'popup');
    document.login.setAttribute('onsubmit', '');
    document.login.submit();
 };
</script>

А это примерная форма для демонстрационных целей:

<form action="handle.html" method="get" name="login" onsubmit="process(); return false;">
Username: <input type="text" name="username" id="username" /><br />
<input type="submit" />
</form>

Теперь вот что происходит: во-первых, мы настраиваем форму и присваиваем ей атрибут onsubmit, который указывает ей запускать функции process() и return false; вместо обычной отправки; с этого момента эта функция вступает во владение и создает всплывающее окно, присваивая ему имя и некоторые функции (во что бы то ни стало, добавляя любые лишние, которые вы хотите), а затем внимание возвращается к форме, где мы теперь устанавливаем target атрибут для имени окна, которое мы только что создали.

Затем мы должны прояснить, что onsubmit, которое мы установили ранее, или эта та же самая вещь произойдет снова, и это, конечно, не то, что вы хотите. Наконец, мы просто снова отправили форму, и теперь она передает всю информацию в всплывающее окно; оттуда он просто получает handle.html (или что вы в итоге вызываете на своей странице обработки) для работы с данными.

Надеюсь, я помог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...