Полимерная железоформа - не работает подача бумажной кнопки

Я пытаюсь использовать элемент Polymer Iron-Form для отправки информации в массив $_POST. Однако моя кнопка отправки (бумажная кнопка), которая должна запускать скрипт для отправки формы, похоже, не отправляет форму при нажатии.

Я новичок в Polymer и PHP, поэтому я не уверен, что происходит не так.

Сценарий формы

<form is="iron-form" method="post" id="insert-project-form" action="/form/handler">
   <paper-input label="Project Title" name="title"></paper-input>
   <paper-input label="Client ID" name="clientid"></paper-input>
   <paper-input label="Working Hours" name="workhours"></paper-input>

   <paper-button raised onclick="submitForm()">Submit</paper-button>

   <script>
   function submitForm() {
   document.getElementById('insert-project-form').submit();
   }
   </script>
</form>

person Karvin    schedule 06.07.2015    source источник
comment
Вы отладили выражение отправки?   -  person Robert Rowntree    schedule 06.07.2015
comment
У меня аналогичный случай и я получаю Uncaught TypeError: document.getElementById(...).submit не является функцией   -  person ironic    schedule 20.07.2015


Ответы (2)


У меня была такая же проблема, и я делал это так же, как вы это делаете. Согласно документации, это должно работать. Но я нашел обходной путь для этой проблемы

Добавьте обычную кнопку для отправки и настройте ее видимость как скрытую.

<button type="submit" id="SubmitButton" name="submit" style="visibility:hidden;"></button>

И в вашем коде javascript измените функцию submitForm на это

function submitForm(){
document.getElementById('SubmitButton').click();
console.log("Submitted!")
}

И оставьте линию бумажных пуговиц такой, какая она есть.

 <paper-button raised onclick="submitForm()">Submit</paper-button>

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

person realappie    schedule 09.07.2015

<form is="iron-form" method="post" id="insert-project-form" action="/form/handler">

атрибут в самом конце «действие» должен передать его в ваш php-файл. Предполагая, что ваш файл php находится в папке с именем «php». решение этого было бы

<form is="iron-form" method="post" id="insert-project-form" action="php/yourphpfile.php">

и ваша логика будет содержаться в файле php, который при необходимости отправляет ее в базу данных.

person blitz    schedule 21.07.2015