2013-06-13 10 views
9

Jak zamienić przycisk przesyłania na link bez użycia javascript? czy istnieje jakiś sposób dodania atrybutu submit do linku? ponieważ formularz nie zostanie wysłany przez prosty link bez "przesłania".Prześlij formularz przy użyciu elementu kotwiącego <a>, bez javascript

<form:form action="/getPage" > 
    <div class="buttons"> 

     <a class="link" href=""> 
      <img src="icon.png" /> 
     </a> 

    </div>   
</form:form> 

pracuję w sieci aplikacji, więc jeśli mogę użyć javascript link nie zostanie odwzorowany przez serwer ..

+1

http://stackoverflow.com/questions/ 1367409/how-to-make-like-like-a-link – Sanath

+1

Jeśli podasz przycisk * * jako link, upewnij się, że Google i inne wyszukiwarki nie przechodzą przez twoją stronę. Nie chcesz, aby * link usuwania * był uruchamiany przez wyszukiwarki. –

+0

Prawdziwe pytanie brzmi: dlaczego należy użyć '', aby przesłać formularz? Co jest nie tak z '' lub '

Odpowiedz

22

Nie można przesłać formularza za pomocą samego znacznika <a>. Ci będzie potrzebują pewnego rodzaju javascript, aby pomóc, jeśli nalegać na użyciu <a> tag:

<a href="#" onclick="$(this).closest('form').submit()">Submit the Form</a>

lub

<a href="#" onclick="document.getElementById('form-id').submit()">Submit the Form</a>

lub Super Hack:

<a href="backendPage.php?param1=yes&param2=no">Submit the Form</a>, następnie na backendPage.php można użyć żądań $_GET do przetwarzania informacji, oraz przekierować gościa na zamierzoną stronę. Ale to straszny pomysł haha ​​

+0

Hay cześć człowieku, użyłem tej metody i działało dobrze, ale nie działało, kiedy zmieniłem wartość href na pusty ciąg znaków (href = "") czy możesz mi powiedzieć jakie jest znaczenie # ... – fazkan

+0

Hi @fazkan , ''href = "# cokolwiek" 'mówi przeglądarce, aby zmieniła hash w adresie URL, co zwykle oznacza brak przeładowania strony (z wyłączeniem kątowego itd.). Pusty atrybut 'href' będzie taki sam jak wskazanie bieżącej strony, która przeładuje stronę. Alternatywnie możesz całkowicie usunąć atrybut 'href' i użyć kursora CSS' cursor: pointer', aby wskaźnik myszy wyglądał jak link. –

1

Można osiągnąć ten sam wysiłek i wygląda <a>

Uwaga:btnbtn-link pochodzi z bootstrap

<button class="btn btn-link" type="submit"><img src="icon.png" /></button> 
Powiązane problemy