2010-02-12 2 views
3

Мне нужно поместить ссылку на веб-страницу через <a>. Ссылка на веб-страницу содержит некоторые параметры запроса, и я не хочу отправлять ее через браузер напрямую (что я хочу использовать что-то похожее на метод POST FORM).a href tag разместить ссылку

<a href="www.abc.do?a=0&b=1&c=1>abc</a> 

Я использую это внутри страницы JSP и есть способ, чтобы отправить его через Javascript или любым другим способом, где я не проходят параметры запроса через URL?

ответ

5

Вы можете использовать ссылки для отправки скрытых форм, если это то, о чем вы просите.

<a href="#" onclick="submitForm('secretData')">Click Me</a> 

<form id="secretData" method="post" action="foo.php" style="display:none"> 
    <input type="hidden" name="foo" value="bar" /> 
</form> 

<script type="text/javascript"> 
    function submitForm(formID) { 
    document.getElementById(formID).submit(); 
    } 
</script> 
+0

Встроенные обработчики событий? Tsk Tsk .. :) +1 Отличный ответ –

+1

@ Doug: Meh, немного ленивый сегодня вечером :) – Sampson

0

Вы можете использовать AJAX для этого. Например, с помощью jQuery, вы можете использовать post function:

<a href="#" id="myMagicLink">clickMe</a> 

<script type="text/javascript"> 
$(function(){ 
    $("#myMagicLink").click(function(){ 
    $.post("www.abc.do", {"a":0, "b":1, "c":1}); 
    }); 
}); 
+0

NO Ajax .Plain только для javascript – Harish

+4

Хмм ... Я не знал, что AJAX не был «простым JavaScript». Если только вы не имеете в виду без рамки. Вы можете сделать более многоразовое решение, используя jQuery для вытягивания атрибутов из тега и построения запроса POST без использования скрытых форм, сохраняя при этом тег для перенаправления на страницу с ошибкой для людей, у которых нет JavaScript. Это только мои $ 0,02. – Zack

1

Используйте form тег со скрытыми полями, чтобы отправить данные:

<a href="#" onclick="document.frm.submit(); return false">GO !!</a> 

<form name="frm" action="www.abc.do" method="post"> 
    <input type="hidden" value="your-data" name="whatever"> 
    <input type="hidden" value="your-data" name="whatever"> 
    <input type="hidden" value="your-data" name="whatever"> 
</form>