Итак, мне нужна кнопка, которая при нажатии отправляет идентификатор статьи на страницу php через запрос GET, а страница PHP генерирует краткое изложение моей статьи в формате PDF.
Теперь это довольно просто сделать, если у меня есть тег формы, но у меня его нет и не может быть, так как моя кнопка находится в таблице, и, насколько мне известно, формы не могут существовать в таблицах. Я все еще пытался использовать тег формы, но он ломал мой сайт, так что это не вариант.
Вот что у меня есть:
echo "<td><button type=\"submit\" formaction=\"wp-content/themes/csed/data-entry/results.php\" formmethod=\"get\"class=\"button\" name=\"id\" value=\"" .$single->idArticle. "\" formtarget=\"_blank\">PDF</button></td>";
Как видите, я пытался использовать атрибут formaction, чтобы заставить эту работу работать, но сейчас моя кнопка ничего не делает. Вообще ничего. Что я делаю неправильно? Возможно ли то, чего я пытаюсь достичь?
(Как вы уже писали в заголовке :) Кнопка не имеет формы, связанной с .... - Итак, вопрос содержит ответ: добавьте форму, которая еще отсутствует. Прочтение предоставит вам несколько вариантов для этого: developer.mozilla.org/en-US/docs/Web/HTML/Element/button - Возможная копия: stackoverflow.com/q/7020659/367456?
У вас может быть таблица внутри формы. Альтернативой является то, что вместо этого вы используете какой-то JavaScript для отправки данных, но ничто не мешает вам иметь таблицу внутри формы.
Это сломает мне стол. Возможно, я мог бы пойти и исправить CSS, но это кажется слишком большим трудом. Я чувствую, что здесь должно быть более простое решение. Как насчет использования атрибута onClick для отправки в javascript? Это сработает?
@ChingLing: я добавил ответ с примером HTML, который должен показать, как можно обойти свои ограничения. submit - это тип по умолчанию, кстати, поэтому вам не нужно его записывать. См. Ссылку MDN для получения более подробной информации и опций.






Если вы не можете разместить кнопку в элементе формы, вы можете связать ее с одним из них с помощью идентификатора формы:
<form id = "myform"></form>
...
<button form = "myform" ... >
Таким образом, элемент <form> может быть где угодно в гипертекстовом документе, будь то до или даже после кнопки. Кнопка не должна быть потомком формы.
Я быстро скомпилировал этот элементарный пример из документации MDN, которая доступна даже на разных языках (хотя я, как не носитель английского языка, обычно предпочитаю английский вариант):
Я знаю об этом подходе. Однако это не то, что я ищу. Мне нужен способ отправки данных через GET без использования формы. Я просто читал и похоже, что это возможно с использованием jquery и ajax. Тем не менее, спасибо за ваш ответ.
@ChingLing: Лучше прочтите ссылку, вместо того, чтобы складывать еще больше вещей сверху: formmethod = "get", и кнопка выполнит запрос на получение. Это все внутри. Не останавливайся так рано, особенно. если вы новичок в используемой технологии, например ваш HTML кажется либо совершенно новым или же ржавым (- ;.
@hakreЯ использую formmethod = "get" в моей кнопке. Это все еще не работает. Смотрите мой код в OP. Я предполагаю, что из-за того, что вы и другие упомянули, мне не хватает тегов формы? Я хочу добиться этого, не имея формы. Вы говорите, что это возможно?
Возможно, вам потребуется добавить в действие параметры запроса. По крайней мере, так это работает в PHP (или вы добавляете поля ввода, но поскольку у вас есть только один параметр, я бы начал здесь с параметрами запроса). И да, со стандартной ссылкой это возможно без формы, поскольку запрос GET является стандартным запросом ссылок. Если вы понимаете основы, вы можете творчески найти любое необходимое решение. См. Этот вопрос и ответ, например: stackoverflow.com/q/2906582/367456 (и посмотрите голоса за, вы совсем не одиноки)
Кнопки отправки не отправляются, если они не находятся в форме. Не знаете, почему вы думаете, что формы не могут быть в таблице?