2011-01-26 193 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