2011-01-26 6 views
2

좋아 얘들 아, 나는이 코드가?사용자 지정 양식 버튼

난이 시도했지만 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. 귀하의 형태 행동는 제출 부톤 섬의 온 클릭 달라야합니다. 양식 작업은 보내는 데이터를 수신 할 페이지 여야합니다. 그래서 HTML뿐만 아니라 페이지 서버 측 (PHP, ASP, ASP.NET, JSP 등)의 페이지를 넣어야합니다.

  2. 귀하의 자바 스크립트 함수 envia_contato 당신이 공유 코드에 정의되지 않은, 그래서 당신이 그것을 사용하기 전에 (A script 태그를 사용하여) HTML에서 어딘가에 정의해야합니다 (Bhanu 같은 제안) :

    <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> 
    

    또는 당신은 (JK가 그랬던 것처럼) 직접 제출 envia_contato 기능을 무시하고 호출 할 수 있습니다 :

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

    return false;를 온 클릭의 끝에서 추가 이벤트를 피할 것를 제기 할 수 fter는 javascript가 호출되므로 false를 반환하면 #으로 redirección이 수행되지 않습니다 (이러한 리다이렉션은 대부분 시간이 중요하지 않지만이 방법은 필요한 작업을 정확히 수행하므로 리디렉션이 필요하지 않습니다).

그리고 다음 사항은 대부분의 HTML 파서에 어쨌든 작동합니다 (그러나 당신이 어쨌든 알고에 관심이있을 수 있습니다) 때문에 실제 문제되지 않습니다

  1. 을하지만 당신은 javascript: 필요하지 않습니다는 (onclick과 같은) 자바 스크립트 이벤트를 첨부 할 때 다른 것이 필요할 때 필요합니다 (예 : href에는 링크가 아니라 자바 스크립트가 필요하므로 접두사를 사용하여 자바 스크립트를 정의 할 수 있습니다).

  2. 귀하의 BR 태그는 br 전에 /을했고 그것은 단지 <br> 또는 <br/>해야합니다.

+0

한 작은 추가는 false를 돌려 추가하는 것입니다 그 형태의 액션을 원하는 경로를 정의 폼의 행동 –

+0

좋은 제안. 내 대답을 업데이트했습니다. –

+0

아주 좋은 Protron .. ty o lot .. 이제 나는 이해한다 ... – Preston

0

하여 사용해보십시오 :

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

흠 ... 그나마 작업 – Preston

0

당신이 onclick 이벤트

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

흠 ... 일 ... 당신이 – Preston

+0

시도 해달라고' onclick = "envia_contato(); false를 반환;"그렇지 않으면 특정 브라우저가 이상한 문제를 일으킬 수 있습니다. –

관련 문제