2011-01-26 113 views
2

好球員,我有這樣的代碼:自定義表單按鈕

<a class="button" href="#"><span>SEND</span></a> 

我怎麼可以在提交表單按鈕transtorm呢?

我已經試過了,但不worlks ...

 <div class="contato_form" id="contato_form">      
     <form id="form1" name="form1" method="post" action="javascript:envia_contato();"> 
      <p><label for="nome">Name:</label><input class="campo_contato" type="text" name="nome" id="nome" /></p> 
      <p><label for="email">Email:</label><input class="campo_contato" type="text" name="email" id="email" /></p> 
     </form> 
    <div class="clear"> 
    <p><a class="botao" href="#" onclick="javascript:envia_contato();"><span>SUBMIT</span></a></p> 
    </div> 
    </br> 
    </div> 

回答

2

你有幾個問題。

  1. 形式行動不應該是一樣的的onclick提交布通的。表單操作應該是接收您發送的數據的頁面。所以你必須放置一個不僅是HTML而且是頁面服務器端處理的頁面(即PHP,ASP,ASP.NET,JSP等)。

  2. 你的JavaScript函數envia_contato是不是在你共享的代碼中定義的,所以你有地方在HTML(使用script標籤)在使用前對其進行定義(如巴努•建議):

    <script> 
    function envia_contato() 
    { 
        form1.submit(); 
    } 
    </script> 
    <div class="contato_form" id="contato_form"> 
        <form id="form1" name="form1" method="post" action="/echo/json/"> 
         <p> 
          <label for="nome">Name:</label> 
          <input class="campo_contato" type="text" name="nome" id="nome" /> 
         </p> 
         <p> 
          <label for="email">Email:</label> 
          <input class="campo_contato" type="text" name="email" id="email" /> 
         </p> 
        </form> 
        <div class="clear"> 
         <p><a class="botao" href="#" onclick="envia_contato(); return false;"><span>SUBMIT</span></a></p> 
        </div> 
        <br/> 
    </div> 
    

    或者你可以丟棄envia_contato功能並調用直接提交(如JK所做的那樣):

    <p><a class="botao" href="#" onclick="form1.submit(); return false;"><span>SUBMIT</span></a></p> 
    

    return false;在的onclick年底將避免進一步的事件被提出了因爲JavaScript被調用,所以如果你返回false,redirección到#將不會完成(這種重定向在大多數情況下並不重要,但這種方式可以完全滿足你的需求,而且你不需要重定向)。

而下面的東西都不是真正的問題,因爲在大多數HTML解析器無論如何都會正常工作(但你可能有興趣知道這無論如何):

  1. 但你並不需要javascript:當你附加javascript事件(比如onclick)時,當需要其他內容時(如href,它只需要一個鏈接而不是javascript,所以你使用前綴來定義javascript)就需要它。

  2. BR標籤有/br之前,它應該只是<br><br/>

0

嘗試使用:

<a class="botao" href="#" onclick="form1.submit()"> 
+0

嗚嗚......不工作 – Preston 2011-01-26 12:40:04

0

你必須做錨標記提交表單onclick事件

function envia_contato() 
{ 
    document.form1.submit(); 
} 
+0

嗚嗚......不工作... – Preston 2011-01-26 12:39:37

+0

嘗試在形式的動作定義一個要這種形式的行動 – 2011-01-26 12:46:09