Использование якорной ссылки для отправки формы - PullRequest
0 голосов
/ 01 мая 2011

Могу ли я использовать якорный тег для отправки формы?В этом коде я использую кнопку отправки, которая является стандартной, но как использовать тег привязки <a href=Cart?removeId=${cartItem.productId>Remove</a>

Я пробовал это сделать, но в сервлете вызывается метод 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 ]

2 голосов
/ 01 мая 2011

Вам нужно использовать JavaScript, чтобы якорная ссылка делала пост. Вы можете использовать CSS, чтобы стилизовать кнопку отправки и сделать ее больше похожей на ссылку.

0 голосов
/ 01 мая 2011

Да, как сказал @JB, вы можете опубликовать форму, используя JScript. Один пример, который мне приходит в голову, приведен ниже со структурами, здесь вы фактически передаете идентификатор продукта в качестве переменной методу 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"/>
...