Полимерная железная форма не отправляется

Я использую железо-форму в Polymer 1.0 для отправки формы входа с бумажными вводами и бумажной кнопкой.

Я вызываю submit () на кнопках onclick, но ничего не происходит. Я даже попытался установить собственную кнопку, чтобы увидеть, была ли ошибка с моим JS, но она все равно не отправилась.

Тем не менее, он действительно отображал всплывающее окно «—– требуется», которое оно не делало с кнопкой «Бумага».

Я использую PHP для динамического отображения HTML, но я также попытался заставить его работать в обычном HTML-файле, что дало мне те же результаты.

Я не использую gulp для запуска веб-сервера, я просто использую обычную настройку XAMPP.

login.php:

<?php // configuration require("/includes/config.php"); // if user reached page via GET (as by clicking a link or via redirect) if ($_SERVER["REQUEST_METHOD"] == "GET") { // else render form render("login-form.php", ["title" => "Log In"]); } // else if user reached page via POST (as by submitting a form via POST) else if ($_SERVER["REQUEST_METHOD"] == "POST") { // query database for user $rows = query("SELECT * FROM users WHERE username = ?", $_POST["username"]); // if we found user, check password if (count($rows) == 1) { // first (and only) row $row = $rows[0]; // compare hash of user's input against hash that's in database if (crypt($_POST["password"], $row["hash"]) == $row["hash"]) { // remember that user's now logged in by storing user's ID in session $_SESSION["id"] = $row["id"]; // redirect to portfolio redirect("/"); } } // else apologize apologize("Invalid username and/or password."); } ?> 

header.html:

 <!DOCTYPE html> 

 <head> <script src="/bower_components/webcomponentsjs/webcomponents-lite.min.js"></script> <!--<script src="/bower_components/webcomponentsjs/ShadowDOM.min.js"></script>--> <link rel="import" href="elements.html"> <link rel="import" href="/styles/styles.html"> <?php if (isset($title)): ?> <title>Test: <?= htmlspecialchars($title) ?></title> <?php else: ?> <title>Test</title> <?php endif ?> </head> <body> 

Логин-form.php:

 <div class="outer"> <div class="middle"> <div class="inner"> <paper-material elevation="5"> <paper-header-panel> <paper-toolbar> <div><b>Login</b></div> </paper-toolbar> <div class="content"> <form is="iron-form" id="form" method="post" action="index.php"> <paper-input name="username" label="Username" required></paper-input> <paper-input name="password" label="Password" required></paper-input> <paper-button raised onclick="clickHandler(event)" id="loginButton">Submit</paper-button> </form> <script> function clickHandler(event) { Polymer.dom(event).localTarget.parentElement.submit(); console.log("Submitted!"); } </script> </div> </paper-header-panel> </paper-material> </div> </div> 

footer.html:

  </body> </html> 

elements.html:

 <link rel="import" href="bower_components/font-roboto/roboto.html"> <link rel="import" href="bower_components/paper-header-panel/"> <link rel="import" href="bower_components/paper-material/"> <link rel="import" href="bower_components/paper-toolbar/"> <link rel="import" href="bower_components/paper-input/paper-input.html"> <link rel="import" href="bower_components/paper-button/paper-button.html"> <link rel="import" href="bower_components/iron-form/iron-form.html"> 

Любая помощь будет очень оценена!

    Элемент « iron-form отправляет ваш запрос через AJAX ( https://github.com/PolymerElements/iron-form/blob/master/iron-form.html#L146 ). Другими словами, это не будет делать полное обновление страницы, как традиционный элемент <form> (что похоже на поведение, которое вы ожидаете). Это просто получение и выборка данных.

    Я спросил у команды, можно ли создать флаг в элементе « iron-form чтобы пользователи могли получить преимущество в том, что он отправил свои собственные значения элементов в запрос, но заставил его использовать старое поведение формы, где он обновляет всю страницу (позволяет серверу отображать и отправлять новую страницу).

    редактировать

    Я бы рекомендовал вам заменить iron-form в вашем примере на обычный элемент формы, а затем записать значения из ваших элементов paper- * в поля input type="hidden" и использовать их для отправки формы.