我有一个在GoLang&布法罗,我是网络编程的新手,我确信这是一个愚蠢的问题。我有一个带搜索栏的导航栏,还有一个在身体里的搜索栏。导航栏是一个嵌入的html(毛绒部分(。
search.html
的表单工作得很完美,但导航栏的提交按钮没有任何作用。
具有以下代码:
<!-- search.plush.html -->
<html>
<body>
<div>
<%= partial("header.html") %>
</div>
...
<div>
<form action="/results" method="GET">
<input id="text" for="mainsearch" inputmode="latin" placeholder="Search words or phrases">
<div role="group">
<button name="type" value="word" type="submit">Word Search</button>
<button name="type" value="phrase" type="submit">Phrase Search</button>
</div>
</form>
</div>
...
</body>
</html>
和
<!-- _header.plush.html -->
<div>
<form action="/results" method="GET">
<input id="text" for="mainsearch" inputmode="latin" placeholder="Search words and phrases">
<div role="group">
<button name="type" value="general" type="submit">
<i class="ion-search"></i>
</button>
</div>
</form>
</div>
我将_header.html
嵌入到其他所有html中,但它在任何地方都不起作用。我认为这更像是html的问题,而不是毛绒的问题,但我找不到有关这方面的信息。。
EDIT:我在Chrome上使用开发人员控制台发现,_header.plush.html
中的<form>
和</form>
在渲染后就不见了。
据我所见,输入中的值不会发送到服务器,因为该输入没有name标记。
name属性用于引用JavaScript中的元素,或在提交表单后引用表单数据。
注意:只有具有name属性的表单元素在提交表单时才会传递其值。
https://www.w3schools.com/tags/att_input_name.asp
验证html输出是一种很好的做法。https://validator.w3.org/
我看到一些问题可能会导致您的问题。
id
值在页面上必须唯一
向HTML中的任何元素添加ID时,它必须是DOM中唯一的元素。根据您所在的浏览器的不同,具有相同ID的多个元素会产生意外行为。有关详细信息,请参阅文档中的此链接:https://developer.mozilla.org/en-US/docs/Web/API/Element/id
使用<input type="image"
作为图像提交按钮
这可能是为表单设置图像按钮的最简单方法,不过您可能还希望在按钮最初发送的type: general
信息中包含一个附加(隐藏(字段。以下是表单中图像按钮的文档链接:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/image