使用锚链接进行表单提交

时间:2011-05-01 11:01:32

标签: forms jsp servlets anchor form-submit

我可以使用锚标签提交表单吗?在此代码中,我使用的是标准的提交按钮,但如何使用锚标记<a href=Cart?removeId=${cartItem.productId>Remove</a>

我尝试了这个,但是在servlet中调用了doGet()方法。我想明显调用doPost()方法。我可以使用更好的方法。

<c:forEach items="${lstCart}" var="cartItem" varStatus="count">
    <form action="Cart" method=Post>
    <tr height="40px">

        <td>${count.count}</td>
        <td>${cartItem.productName}</td>
        <td>${cartItem.quantity}</td>   
        <td>${cartItem.unitPrice}</td>
        <td>${cartItem.totalPrice}</td>    
        <td>
        <input type="hidden" name="id" value="${cartItem.productId}" />
        <input type=submit value="x"></td>

    </tr>
    </form>
</c:forEach>

2 个答案:

答案 0 :(得分:2)

您需要使用JavaScript来制作一个锚点链接。您可以使用CSS来设置提交按钮的样式,使其看起来更像是一个链接。

答案 1 :(得分:0)

是的,因为@JB说你可以使用JScript发布表单。我想到的一个例子是下面的struts,这里你实际上是将产品id作为变量传递给JS方法(我更改了名称以便它与你的例子匹配)。

<a href="#" onclick="removeProduct(${cartItem.productId})">
Remove
</a>

然后你可以让JS方法

function removeProduct(productId) {
document.forms["formname"].elements["productId"].value =
productId;
document.forms["formname"].submitTestPost.click(); 
}

这也假设在页面中定义了以下内容(因此JS可以设置它)和submit属性(标记为SubmitTag)。在你的情况下,我不确定设置,但也许你可以得出一些观点。

<input type="hidden" name="productId"/>