我有一个下拉菜单,它将在单击时显示电话号码,我需要在禁用JavaScript的浏览器中提交表单。
目前我正在做以下事情:
<form action="/servlet/myservlet" method="GET">
<select name="myselect" id="myselect" onchange="this.form.submit()">
<c:forEach items="${mydata.phoneNumbers}" var="phoneNumber">
<option value="${phoneNumber}">${phoneNumber}</option>
</c:forEach>
或者有没有办法在禁用 JavaScript 的情况下使用以下引导代码来实现相同的效果
<button class="dropdown-toggle" type="button" id="prefix-num" data-toggle="dropdown"> ${mydata.phoneNumber}</button> <ul class="dropdown-menu dropmenu-menu-custom" role="menu" aria-labelledby="prefix-number-1"> <c:forEach items="${mydata.phoneNumbers}" var="phoneNumber"> <li><a href="/servlet/myservlet" class="changeNumber" role="menuitem">${phoneNumber}</a></li> </c:forEach> </ul>
但是一旦我单击下拉值表单就不会提交。
您需要一个type="submit"
按钮才能在没有JavaScript的情况下提交表单。别无他法。
<form action="/servlet/myservlet" method="POST">
<select name="myselect" id="myselect" onchange="this.form.submit()">
<c:forEach items="${mydata.phoneNumbers}"
var="phoneNumber">
<option value="${phoneNumber}">${phoneNumber}</option>
</c:forEach>
</select>
<input type="submit" name="sub_btn" value="Submit">
</form>
请添加submit button control
以提交没有JavaScript的表单。
此外,请使用POST
方法而不是GET
否则您的表单数据将在 URL 的查询字符串中传递。