Автоматическая отправка формы html после возврата файла php - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь написать веб-сайт, на котором форма (которая должна быть автоматически отправлена) является результатом события onclick, отображаемого в iframe. Но выслушай меня. Базовый документ имеет html, например:

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Welcome!</title>
        <link rel="stylesheet" href="bootstrap/dist/css/bootstrap.min.css" />
        <link rel="stylesheet" type="text/css" href="main.css" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="bootstrap/dist/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="script.js"></script>
    </head>
    <body>
     <iframe name="firstframe" id="firstframe">
      <p>Your browser does not support iframes.</p>
     </iframe><br>
    </body>
</html>

. В iframe я загружаю файл php с событием JavaScript onclick, которое не намного больше, но является пустой формой:

<form name="retrievedetails" id="retrievedetails" action="personalprocessor.php" method="get" >
</form onload="formAutoSubmit ()">

Я хотел бы отправить эту форму, как только этот файл был загружен в iframe, и получить (в моем случае) информацию из БД в качестве возврата, следовательно, </form onload="formAutoSubmit ()">

Функция formAutoSubmit () Я попытался дать все возможные варианты, но ни один не работает. Все они выглядят (ed) примерно так:

function formAutoSubmit () {
  document.forms["retrievedetails"].submit();
}

Все работает, как задумано, если я даю кнопку get-form и нажимаю ее сам, но это не то, что я намереваюсь. У меня такое ощущение, что это связано с тем, что iframe не может загрузить скрипт JS, так как он не имеет заголовка, только основной документ имеет тег html, head, body и т. Д. c .. Но даже давая php -файл, содержащий get-форму головы, тела и т. д. c. не решает.

Я уверен, что решение очевидно, но я просто не вижу его. Не могли бы вы дать мне указатель?

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

1 Ответ

0 голосов
/ 05 апреля 2020

Проблема состояла в том, что onload не может быть вызвана для элемента <form>. Он отлично работает на <body>, как уже говорилось в многочисленных документах по inte rnet. Спасибо Крисс за комментарий, который привел меня туда.

Иногда решение прямо перед вашими глазами, и вы просто его не видите.

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