2010-11-26 118 views
98

我想提交表格。但我不會使用提交類型的輸入按鈕,而是使用a鏈接的基本方式。使用正常鏈接提交表格

下圖顯示了原因。我正在使用圖像鏈接來保存/提交表單。因爲我有圖像鏈接的標準css標記,所以我不想使用輸入提交按鈕。

我嘗試將onClick =「document.formName.submit()」添加到a元素,但我更喜歡html方法。

alt text

任何想法?

+3

使用按鈕和CSS它來顯示圖像或使用JavaScript,有進行簡單的沒有真正的方法href提交沒有javascript的表單。 – 2010-11-26 15:22:36

+0

我第二,不幸的是這些不是一個簡單的方法W/O javascript – benhowdle89 2010-11-26 15:23:27

+3

你做這個的理由聽起來像一個虛假的經濟。最好只是提出一個標準的CSS來提交按鈕,並按照設計使用的方式使用表單。這裏有一堆按鈕css技術描述:http://www.tripwiremagazine.com/2009/06/24-essential-submit-button-enhancements.html – dnagirl 2010-11-26 15:43:02

回答

141

兩種方式。可以創建一個按鈕並對其進行設置,使其看起來像使用css的鏈接,或創建鏈接並使用onclick="form.submit();"

+43

Aaaaaaaand這裏有一個關於如何將按鈕設置爲鏈接的參考:http://stackoverflow.com/questions/1367409/how-to-make-button-look-like-a-link – flipchart 2013-07-11 12:23:51

+3

請注意,`form.submit()`不會在沒有JavaScript的情況下工作 – baptx 2016-08-11 22:46:57

+2

@baptx即使是舊的智能手機已啓用javascript – 2016-10-22 18:41:23

9

您正在使用的圖片來提交..所以你可以簡單地使用type="image"輸入「按鈕」:

<input type="image" src="yourimage.png" name="yourinputname" value="yourinputvalue" /> 
76

你不能真正做到這一點沒有某種形式的腳本給我所知。

<form id="my_form"> 
<!-- Your Form -->  
<a href="javascript:{}" onclick="document.getElementById('my_form').submit(); return false;">submit</a> 
</form> 

來自Here的示例。

3

使用:

<input type="image" src=".."/> 

或:

<button type="send"><img src=".."/> + any html code</button> 

再加上一些CSS

23

只是造型的<input type="submit" class="linkButton" />喜歡這個工作對我來說:

.linkButton { 
 
    background: none; 
 
    border: none; 
 
    color: #0066ff; 
 
    text-decoration: underline; 
 
    cursor: pointer; 
 
}
<input type="submit" class="linkButton" />

在Chrome,IE 7-9測試,火狐

-1

當然,存在與純HTML無解提交一個表單的鏈接(a)標籤。標準的HTML只接受按鈕或圖像。正如其他一些合作者所說的,可以使用按鈕模擬鏈接的外觀,但我想這不是問題的目的。

恕我直言,我相信建議和接受的解決方案不起作用。

我已經在窗體上測試過它,瀏覽器沒有找到對窗體的引用。

所以有可能使用一行JavaScript解決它,使用this對象,該對象引用需要提交的被單擊的元素(它是表單的子節點)。所以this.parentNode是窗體節點。在它以這種形式調用submit()方法之後。從整個文檔中找到正確的表單並不是必要的研究。

<form action="http://www.greatsolutions.com.br/indexint.htm"     
    method="get"> 
    <h3> Enter your name</h3> 
    First Name <input type="text" name="fname" size="30"><br> 
    Last Name <input type="text" name="lname" size="30"><br> 
    <a href="#" onclick="this.parentNode.submit();"> Submit here</a> 
</form> 

假設我用我自己的名字輸入:

Filled form

我在形式方法屬性使用get,因爲它可以看到在加載頁面的URL的參數是否正確提交後。

http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum 

此解決方案顯然適用於接受onclick事件或某些類似事件的任何標籤。

this是一個很好的選擇,可以將event variable(可用於所有主流瀏覽器和IE9以上版本)的上下文一起恢復,可以直接使用或作爲參數傳遞給函數。

在這種情況下,請使用屬性target替換符合a標記的行,該標記指示已啓動事件的元素。

<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a> 
0

可以使用 的OnClick = 「的document.getElementById( 'formID_NOT_NAME')。提交()」