[英]Submit form from a link with param
我正在嘗試並搜索了幾天,卻找不到答案。
我的問題是:我使用超鏈接和Javascript提交表單,但是我還需要使用鏈接提交參數。 代碼如下:
<form action="Action.jsp" method="post" id="form-id">
<input .../>
...
<c:forEach items="${items}" var="item" varStatus="vs">
<a href="Action.jsp?id=${vs.count}"
onclick="javascript:document.forms['form-id'].submit(); return false">
${vs.count}
</a>
</c:forEach>
</form>
如果我沒有return false
,則會傳遞參數id,但不會傳遞其他<input .../>
參數,反之亦然。 您怎么看,我不能使用<input type="hidden" .../>
參數,因為我只需要鏈接的參數。
如果您能幫助我,我將不勝感激。
您還需要將參數添加到表單的action屬性中。 這確定了提交時向頁面提交的URL。
因此,當單擊鏈接時,您可能需要使用javascript更改此屬性值,以使其表現為這種行為。
<form action="Action.jsp?id=${vs.count}" method="post" id="form-id">
當您刪除return false
,實際上您只是在快速提交表單后獲取鏈接的默認行為。
如果在循環外添加隱藏的input
,則可以在提交之前設置該輸入的值:
<form action="Action.jsp" methode="post" id="form-id">
<input .../>
<input type="hidden" id="button-id"/>
...
<c:forEach items="${items}" var="item" varStatus="vs">
<a href="Action.jsp"
onclick="javascript:document.getElementById('button-id').value=${vs.count};document.forms['form-id'].submit(); return false">
${vs.count}
</a>
</c:forEach>
</form>
如果不需要錨,則可以使用button
元素代替提交來解決此問題,而無需使用JavaScript:
<button name="id" type="submit" value="${vs.count}">${vs.count}</button>
請注意,Internet Explorer 8以前的版本將在<button>
和</button>
標記之間提交文本,而其他瀏覽器將提交該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.