【问题标题】:Submit Button without a form没有表单的提交按钮
【发布时间】:2018-04-22 10:11:21
【问题描述】:

所以我想要的是一个按钮,当点击它时,通过 GET 请求将文章 id 发送到 php 页面,并且 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 链接。

标签: php html forms get


【解决方案1】:

如果您不能将按钮放入表单元素中,您可以通过表单的 ID 将其关联到一个:

<form id="myform"></form>

...

<button form="myform" ... >

所以&lt;form&gt; 元素可以位于超文本文档中的任何其他位置,无论是在按钮之前还是之后。按钮不能是表单的后代。

我从 MDN 文档中快速编译了这个基本示例,这些文档甚至有不同的语言版本(尽管我作为非英语母语人士通常更喜欢英语变体):

【讨论】:

  • 我知道这种方法。但是,不是我要找的。我想要的是一种通过 GET 提交数据而不使用表单的方法。我只是在阅读,看起来使用 jquery 和 ajax 是可能的。不过还是谢谢你的回答。
  • @ChingLing:最好阅读链接,而不是在顶部堆叠更多内容:formmethod="get",按钮将执行获取请求。都在里面。不要那么早停止,尤其是。如果您对所使用的技术不熟悉,例如您的 HTML 看起来不是很新 生锈 (-;.
  • @hakre我在我的按钮中使用了formmethod="get"。它仍然无法正常工作。在 OP 中查看我的代码。我猜那是因为你和其他人提到的,我错过了表单标签?我想要做的是在没有表格的情况下实现这一目标。你是说这可能吗?
  • 您可能需要将查询参数添加到操作中。这至少是它在 PHP 中的工作方式(或者您添加输入字段,但由于您只有一个参数,我将在此处开始使用查询参数)。是的,使用标准链接可以不使用表单,因为 GET 请求是链接的标准请求。如果您了解基础知识,您可以创造性地找到所需的任何类型的解决方案。例如,请参阅此问答:stackoverflow.com/q/2906582/367456(并查看赞成票,您并不孤单)
猜你喜欢
  • 1970-01-01
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 2019-09-17
相关资源
最近更新 更多