JavaScript中的表单提交禁用了浏览器


Form submission in javascript disabled Browser

我有一个下拉菜单,它将在单击时显示电话号码,我需要在禁用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 的查询字符串中传递。