将html5 datalist的隐藏值发送到数据库

时间:2016-07-17 10:21:28

标签: php database html5 html-datalist

我对html5比较陌生,我试图使用datalist对象整理网页。我从数据库中填充我的数据主义者,示例如下所示:

我想要实现的是让用户在下拉框中查看日期列表,以及何时单击按钮将关联的数据值编号发布到数据库(这是主键)。问题是如何获取要在php中发送到数据库的数据值(我可以在javascript中获取值,但我不想使用javascript连接到数据库,因为我和#39; m告诉这不是好习惯)。首先十分感谢。马丁

showNewAlert

1 个答案:

答案 0 :(得分:0)

您不应该从用户提交的数据中获取主键。最好根据用户提供的数据在服务器端计算或自动生成它。

无论如何,您可以使用以下内容在表单中添加隐藏字段:

<input type="hidden" name="hiddenvar" value="some secret" />

你会把它放在HTML Form中。当用户从下拉列表中选择一个选项时,您可以将JavaScript 插入该元素放入表单中。

表单提交的数据将转到表单action属性中提供的脚本/网址。在服务器端,PHP获取var $_POST中的数据。

根据OP的评论进行编辑:

仍然需要像上面那样添加隐藏元素,但你可以使用这样的元素来实现:

<input type="hidden" name="searchEventsID" value="" />

首先将其留空,然后让JS将值设置为相应的data-value属性。

请注意,这两个示例均适用于 hidden 元素,因此用户无法看到它。但是当用户提交它时,它将被提交给服务器。

编辑2:

将select <input>标记的onchange属性设置为JS函数,该函数将执行必要的操作。请参阅上面的链接,了解如何执行此操作。也许谷歌的一些教程。 This SO answer具有类似的“结构”,但您需要弄清楚您需要做什么。具体来说,

var hidden_val = document.getElementById('eventList').getAttribute('data-value');
document.getElementById('searchEventsID').value = hidden_val;
// done in two lines for clarity but you can do it in one.