Автоматически отправить форму в новом окне - PullRequest
2 голосов
/ 23 ноября 2011

Я работаю над этим около 2 часов и не могу найти решение. Я знаю, что вы можете просто сделать это:

<form target="_blank"

Это работает только тогда, когда пользователь отправляет его. Дело в том, что эта форма отправлена ​​с использованием JavaScript. Это отправлено автоматически. Поэтому, когда я делаю document.formname.submit (); и у формы есть attrivute target = "_ blank", это дает мне следующую ошибку:

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (ns_error_failure) [nsidomhtmlformelement.submit]" nsresult: "0x80004005 (ns_error_failure)" location: "JS frame :: [lazyjhunting.com...] :: <TOP_LEVEL> :: line 95" data: no]

Так никто не знает, как автоматически отправить форму и открыть результаты в новом окне?

Любая помощь очень ценится. Большое спасибо.

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

Я думаю, что вы не можете сделать это , потому что открытие нового окна без взаимодействия с пользователем будет блокироваться блокировщиком всплывающих окон в браузере, аналогично блокировке всплывающих окон. Например, вы должны привязать его к событию клика.

1 голос
/ 23 ноября 2011

это можно сделать .. Пожалуйста, проверьте ниже код:

    window1.jsp
    -----------------

        <script type="text/javascript">
        function formSubmit(){
            document.forms['myform'].submit();
        }
        </script>

        <form action="window2.jsp" method="get" name="myform">
        <input type="text" name="name">
        <input type="button" name="clickMe" value="clickMe" onclick="formSubmit();">
        </form>



        window2.jsp
        -----------------
        <body>
        <%= (String)request.getParameter("name")%>
        </body>

вы можете выполнить document.forms['myform'].submit() любым способом, я просто использовал простую кнопку для вызова функции formSubmit для выполнения document.forms['myform'].submit()

0 голосов
/ 23 ноября 2011

Вы, конечно, можете это сделать.Вот основной код

<html>
<head>
</head>
<body onload="document.f.submit();">
<form target="_blank" id='f' name='f' method='POST' action="http://www.yahoo.com">

</form>

<input type='button' name='btn' value='Submit' onclick='document.f.submit();' />
</body>
</html>

Вопрос (а может, это был просто плохой пример), почему вы хотите отправить форму о событии загрузки?Если страница только что загрузилась, у пользователя еще не было возможности что-либо ввести.Итак, что пользовательский ввод публикуется.Если это то, что вы загрузили из базы данных, почему вы публикуете это прямо сейчас, а не выполняете все, что вам нужно на сервере, прежде чем вы предоставили исходную страницу.загружается из базы данных, почему бы не открыть отдельное окно и напрямую загрузить эти данные из базы данных?Может быть, я просто что-то пропустил.

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