2011-11-02 99 views
27

我讀過某處,使用錨標籤提交表單不是很安全,所以這是我的問題:是否安全,使用錨標記而不是<button><input type="submit" />提交表單?如果不是,爲什麼?問題是,我有一個按鈕的CSS類,它顯示<a class="button">上我想要的,但如果我將它添加到實際的按鈕,它會添加一個我不想要的奇怪邊框。使用錨提交表單安全嗎?

感謝

+0

你應該嘗試的風格你''來滿足您的需求。請張貼您當前版本的CSS,以便我們找到一種方法來刪除奇怪的邊框:) – dwalldorf

+0

謝謝,我已經修復了邊框。我只定義了頂部和底部邊框,所以邊上有默認邊框。 – ItsGreg

回答

49

要使用錨提交表單將需要使用JavaScript來掛鉤的事件。這是不安全的,如果用戶禁用JavaScript,您將無法提交表單。例如:

<form id="form1" action="" method="post"> 
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a> 
</form> 

如果你想你可以使用一個<button>

<button type="submit">Submit!</button> 

還是堅持什麼,我們都知道:

<input type="submit" value="Submit!" /> 

可以樣式的所有他們三個人,但後兩者不需要JavaScript。如果您遇到邊界問題,您可能只需要在某處更改一些CSS。

+0

確實。但幸運的是,您可以將按鈕設計爲「a」。只要從你現有的風格中刪除邊框。順便說一下,使用'

+1

雖然禁用Javascript的用戶數量在大多數設置中確實很小。 – nfechner

+2

@nfechner當然,但爲什麼冒險和努力,如果有一個完美的元素,自1872年以來內置此功能。 – GolezTrol

1
<!-- add the anchor token at the end of your action statement --> 

<form method='post' action='this_page.php?put_peram=token#anchor_name'> 
<input type='submit' value='click here'> 

<!-- put the anchor right above where you want the page to index --> 

<a name="anchor_name></a> 
+0

很好,謝謝.. – Developer

1

請儘量避免使用javascript。使用始終提交按鈕。出於安全目的,某些用戶可能會被禁用。

雖然您想使用javascript來提交該值,但在編寫<html>標記之前添加下面的行。

<!-- saved from url=(0014)about:internet--> <html>