2010-04-14 5 views
0

두 개의 버튼이있는 양식이 있습니다. 하나는 예, 하나는 no이며, 클릭 한 버튼을 데이터베이스에 캡처하는 순간이지만, 어떤 이유로 든 항상 그렇지는 않습니다. 클릭 한 버튼을 포착, 내 모든 코드를 통해 갈 모든 것이 여기에, 잘 보인다 내가 모든 쓸 경우 모든 방법 양식의 끝에 변수를 수행하기 위해 세션을 사용하고양식 제출 데이터베이스에 캡처가 작동하지 않습니다.

  <div id="mid_prompt"> 
      <form action="refer.php" method="post" onsubmit="return submit_form()" > 
      <div class="prompt_container" style="float: left;"> 
        <span class="prompt_item"><input type="image" src="images/yes.jpg" alt="submit" name="refer" value="yes" /></span> 
      </div> 
      </form> 

      <form action="thank_you.php" method="post" onsubmit="return submit_form()" > 
      <div class="prompt_container" style="float: right;"> 
        <span class="prompt_item"><input type="image" src="images/no.jpg" alt="submit" name="refer" value="no" /></span> 
      </div> 
      </form> 
     </div> 

형태를이다 데이터를 데이터베이스에 저장하고 세션을 검사 한 결과 제대로 작동하는 것처럼 보이지만 문제를 일으키는 유일한 것은 예/아니오입니다.

그래서 기본적으로 매번 예/아니오를 포착해야합니다.

고맙습니다!

답변

1

누군가가 "enter"하여 양식을 제출하면이 버튼을 누르는 데 실패합니다. 이것이 데이터 항목이라면 정직하게 다른 방식으로 캡처하는 것이 좋습니다. 누군가가 버튼을 클릭하거나 입력하기 전에 버튼을 초점에 맞출 때만 작동하기 때문입니다.

폼을 제출하기 위해 enter를 누르는 것은 폼 크기와 필드 유형에 따라 몇 가지 변형이 있지만 브라우저의 기본 동작입니다 (예 : 텍스트 영역은 입력시 제출되지 않지만 입력 유형 = "텍스트"는 제출합니다). on enter).

아마도이 데이터 항목을 캡처하는 확인란을 추가하십시오. IE < 8 해결이되지 않습니다 "값"어떤 <input type="image">

의 속성을 무시합니다

+0

오, 알았어, 고맙다 정보를 많이! 나는 그때 주위에 일을 시도하고 너희들을 게시 유지! – Odyss3us

0

DB 구조는 어떻습니까? 부울 또는 정수 (가능하면 1 또는 0) 또는 varchar (3)로 열 저장소입니까? "예"를 저장하려면 varchar (3)를 사용해야합니다. $ _POST [ 'refer']를 통해 캡처 할 수 있습니다.

+0

현재 시각에 "예"또는 "아니요"로 캡처하는 varchar (3)입니다. 나는 그것을 $ _POST [ 'refer']로 캡쳐하고있다. – Odyss3us

0

주, 유일한 대안은 <input type="image">을 사용하거나 이름 속성에 과부하가 특정을 확인하지 않는 것입니다 전달할 이름 (이 여전히 값 특성을 필요로하며 그렇지 않으면 일부 브라우저는 아무 것도 보내지 않음)

+0

또는 값에 숨겨진 입력을 사용하고 양식을 입력 유형 이미지로 전송하면됩니다. –

+0

오, 알았어, 그걸 몰랐어, 내가 숨겨진 입력을 추가하려고합니다. – Odyss3us

관련 문제