Javascript 带有下拉菜单的html表单提交按钮上的提交表单
我正在尝试创建一个表单。我希望我的客户能够将文本输入到文本字段中,然后从下拉列表中选择一个项目,该下拉列表是根据数据库查询构建的,该查询将其转换为json,然后在下拉列表中显示json的选定值。 我附上了一张图片,希望能更好地解释。Javascript 带有下拉菜单的html表单提交按钮上的提交表单,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在尝试创建一个表单。我希望我的客户能够将文本输入到文本字段中,然后从下拉列表中选择一个项目,该下拉列表是根据数据库查询构建的,该查询将其转换为json,然后在下拉列表中显示json的选定值。 我附上了一张图片,希望能更好地解释。 我不确定你在等什么,但既然你不回答 如果要阻止此操作:event.preventDefault() event.preventDefault()就像一个创可贴。它防止了默认行为。但是,在您的代码中,没有任何内容表明在单击按钮时应提交表单,因此不应提交表单。 我猜您使
我不确定你在等什么,但既然你不回答 如果要阻止此操作:
event.preventDefault()代码>
event.preventDefault()代码>就像一个创可贴。它防止了默认行为。但是,在您的代码中,没有任何内容表明在单击按钮时应提交表单,因此不应提交表单。
我猜您使用的不是按钮,而是提交按钮
在任何情况下,您都可以在提交之前使用onsubmit进行检查:
onsubmit="validateMyForm()"
并防止在某些条件不满足时出现默认行为
你说这些链接在这里是一个占位符。在读这篇文章之前,这让我很困惑,所以我不得不再次编辑我的答案。下次请使用一些更不相关的东西,比如span或div
是的,您可以在此下拉列表中输入,以回答您的评论
Secundo,你有多个下拉列表吗
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
window.onclick=函数(事件){
如果(!event.target.matches('.dropbtn')){
var dropdowns=document.getElementsByClassName(“下拉内容”);
var i;
对于(i=0;i
这部分将通过下拉类循环所有元素,而您只有一个元素,那么为什么要循环呢?可能您有多个下拉列表,因此单击页面上的任何其他位置将关闭所有下拉列表
如果(!event.target.matches('.dropbtn'))
那和什么匹配?按钮。因此,单击按钮以外的任何位置都将关闭下拉列表。但是,当您单击所述下拉列表的项目时,是否要关闭下拉列表
我想用这个向你传达的是,你试图创造的用户体验似乎存在缺陷
进一步阅读:
下拉列表是链接。你能澄清一下吗?将event.preventDefault()添加到window.onclick以阻止postHi gmdev86,下拉列表不会是链接。我从一个数据库中得到两个值,但只显示其中一个值,目的是使用另一个值,这是以后提取数据所特有的。太棒了,谢谢。这会将下拉列表变成可以发送到php页面的数据吗?或者我必须更改列表的显示方式。@ChrisField否。您使用了表单数据的链接。这是错误的。我将编辑我的回答抱歉造成混乱,我在这方面完全是新手。我正在创建的表单包含两个字段,一个是文本字段,由用户填写,第二个是下拉列表,将向他们显示一个描述,“如A4、A3、A2、A1、A0”,然后他们将单击其中一个下拉列表。此表单将允许他们多次重复此过程,然后当他们准备好时,他们将单击submit按钮,然后将所有这些信息传递到php页面,该页面将从数据库检索所有信息,并将这些信息转化为我工作流中另一个过程的有用信息。