2010-01-06 2 views
0

분명히 ASP.NET 웹 양식 내에서 DefaultButtons로이를 수행하는 방법을 알고 있습니다. 그러나 클라이언트 측 개발자가 코드를 작성한 방식으로 자바 스크립트를 통해 제출 버튼이 있습니다.키를 입력했을 때 이미지 버튼을 설정하십시오.

그래서 자바 스크립트가 HTML을 렌더링합니다.

<img id="submitBMI" onclick="quizCalc(); return false;" class="btnHover" src="Submit.gif"> 

어쨌든 DefaultButton을 만들 수 있습니까?

감사합니다.

+0

당신이 제출 텍스트 상자 내부를 누르면 엔터 키를 가지고 계신인가 메소드 quizCalc()에? 그렇다면 다른 브라우저에서 작동합니까? –

답변

2

예를 들어, 해당 양식의 텍스트 상자에서 Enter 키를 누를 때 quizCalc() 메서드를 호출하려는 경우 해당 양식을 호출 할 양식의 onsubmit 처리기를 설정할 수 있습니다.

<form ... onsubmit="quizCalc(); return false;"> 

당신이 입력 요소는 다음 하나의 핸들러 때 onKeyPress (이벤트)와 때 onKeyPress 사용하여 볼 수있는 메소드를 호출하는 좀 더 컨트롤을 원하는 경우 similar question

업데이트를 확인

Jonathan이 말한 것을 할 수 있지만 false를 반환하면 keypress가 문자를 텍스트 상자에 추가하는 것을 취소합니다. 당신은 페이지의 아무 곳이나 누르면 입력하면,이 작업을하는 JS 라이브러리를 사용하지 않는 가정

document.onkeydown = function(e) 
{ 
    var keyCode = document.all ? event.keyCode : e.which; 
    if(keyCode == 13) quizCalc(); 
} 
+0

흠. 그렇게하지 않은 것 같습니다. –

+0

또한 onsubmit 양식을 사용하면 onsubmit이 페이지의 아무 곳이나 키를 캡처하는 것보다 더 합리적이라고 생각하므로 [Enter] 키 (keyCode 13)와 관련된 onkeypown/onkeypress/onkeyup 코드를 제거해야합니다. 내 2c –

1

:

document.onkeydown = function KeyDown(e) 
{ 
    var keyCode = document.all ? event.keyCode : e.which; 

    if(keyCode == 13) { 
    quizCalc(); 
    return false; 
    } 
} 
+0

페이지의 일부에서 jquery를 사용하고 있습니다. 이것은 작동하지 않았고 실제로 텍스트 상자에 텍스트를 입력 할 수 없었습니다. –

+0

어리석은 나를. 실제로 먼저 양식에 데이터를 입력하고 싶습니다. 업데이트 됨. – JonathanK