Html 단추를 사용하여 JavaScript 함수를 호출할

나는 html 단추를 사용하여 JavaScript 함수를 호출할 수 있다.

39 의 here& 코드:

<input type="button" value="Capacity Chart" onclick="CapacityChart();">

39 이 t 제대로 어쨌든요 doesn& 것으로 보인다. 이렇게 할 수 있는 더 나은 방법이 있나요?

다음은 http://projectpath.ideapeoplesite.com/bendel/toolscalculators.html 클릭 대용량형 탭에 링크 왼쪽 아래 부분. 할 경우 경고를 하며 발령합니다 버튼을 만들어 입력하면 값을 차트입니다 값이 바뀌지 않습니다.

질문에 대한 의견 (4)
해결책

몇 가지 방법이 이벤트와의 처리할 수 있는 HTML / DOM. # 39, 여러 가지 방법을 사용할 수 있지만 실제 there& 옳고 각 상황에 게 전혀 없다.

1: # 39 의 정의점에 there& 해당 HTML:

<input id="clickMe" type="button" value="clickme" onclick="doFunction();" />

2: # 39 에 추가할 경우 there& DOM 부동산 취득 Javascript:

//- Using a function pointer:
document.getElementById("clickMe").onclick = doFunction;

//- Using an anonymous function:
document.getElementById("clickMe").onclick = function () { alert('hello!'); };

3: # 39 의 이벤트 후 및 there& 처리기에서 함수를 사용하여 Javascript:

var el = document.getElementById("clickMe");
if (el.addEventListener)
    el.addEventListener("click", doFunction, false);
else if (el.attachEvent)
    el.attachEvent('onclick', doFunction);

두 번째와 세 번째, 두 방법 모두 인라인 / 익명 함수) 를 사용할 경우 그동안 문서를 분석할 요소 뒤에 선언해야 합니다. 첫 번째 방법은 isn& # 39, t, t # 39 에서 온 클릭 속성 때문에 유효한 XHTML isn& XHTML 사양명세.

제 1, 2, 1 개 (2) 이 방법을 사용하여 상호 배타적인 마무리라뇨 덮어씁니다 기타 (1). The 3rd 메서드로부터 첨부하려면 있게 많은 기능을 원하는 대로 경우에도 같은 이벤트 핸들러가 1 또는 2 방법을 사용한 적이 없다.

어디선가 카파시하르트 너회의 ' ()' 기능을 대부분, 어떤 일이 벌어질까. 네 링크 및 운영에 카파시하르트 () 함수가 실행 스크립트를 방문한 뒤, 이 두 팝업 열려 (하나는 단힌 따라 스크립트입니다). 다음 줄을 매우 유용합니다.

CapacityWindow.document.write(s);

다음 시도하시겠습니까 대신:

CapacityWindow.document.open("text/html");
CapacityWindow.document.write(s);
CapacityWindow.document.close();
  • 편집할지 * 특히, 조교하실 생각해봤죠 봤을 때 내 코드에 대한 먹어서나 IE. 다른 것으로 대체할 수 있을 것 '을 (를)' '' 도쿠먼트리올 도쿠망스게테레멘트베이드 참조입니다 합니다. 그러나 너희는 아직 수정 작업을 스크립트입니다 이렇게 난 후 최소한 실수를 할 수 있는 첫 번째 마찬가지로 이 가져오는 추천합니까 apc® IE 코드를 변경하면 있지만브라우저에 금지커서 작동합니까 더욱 혼란을 일으킬 수 있다. # 39 의 IE 에서 또 한 번 더 쉽게 할 수 있는지 여부를 확인하는 작업 it& it& # 39 의 apc® 반면 다른 브라우저에서도 you& # 39, re 업데이팅이 코드.
해설 (1)

내가 이렇게 말할 수 있는 un 강요하는 javascript 를 추가하는 것이 낫다고 한다.

jquery 를 사용할 경우 다음과 같은 항목을 할 수 있는

<script>
  $(document).ready(function(){
    $('#MyButton').click(function(){
       CapacityChart();
    });
  });
</script>

<input type="button" value="Capacity Chart" id="MyButton" >
해설 (6)

Html 과 the way you look 에서 버튼를 security. 함수은 네 맞습니다.

문제는 '카파시카운트' 기능이 있는 것으로 보인다. # 39, 파이어폭스 3.5 m 이 오류가 점점 내 콘솔에서 i&. 는 undefined&quot 도쿠먼트리올 "; on line 의 벤델코피이스트 759

편집:

모양을 하고 있다 '는' 도쿠먼트리올 ie 만 비표준 길을 액세스하면 dom. 아마 이 사용하는 경우 () ',' 도쿠망스게테레멘트베이드 작동합니까. 예: '' 대신 '' 도쿠망.all.카파시그뤼니츠.발루 이바루이 도쿠망스게테레멘트베이드 (RUnits&quot ";)

해설 (1)

이 올바른 것 같네요. 뭐 다른 이름으로 사용하는 함수가 정의된 인컨텍스트 또는 컨텍스트로 isn& # 39, t 볼 수 있는 버튼입니다. 일부 코드를 추가해 주십시오.

해설 (0)

세미콜론 (, ) 는 그냥 알 수 있기 때문에, 이 때 그 기능을 전화하시기 버튼를 죽이면 안 돼요.

그래서 방금 다음과 같습니다. 온 클릭 () ',' = &quot 카파시하르트 &quot.

그럼 다 함께 노력해야 할:)

해설 (0)

나는 지능형의 함수 호출 백킹을 버튼를 코드:

<br>
<p id="demo"></p><h2>Intelligent Button:</h2>Note: Try pressing a key after clicking.<br>
Ahhhh
해설 (0)

39 한 것은 큰 문제가 있습니다 you& 이유도 없이 사용하는 브라우저 스니핑, re:

if(navigator.appName == 'Netscape')
    {
      vesdiameter  = document.forms['Volume'].elements['VesDiameter'].value;
      // more stuff snipped
    }
    else
    {
      vesdiameter  = eval(document.all.Volume.VesDiameter.value);
      // more stuff snipped
    }

39 m 의 i&, 크롬, 그래서 't be', '# 39 나비가토리아파나미 won& 넷스케이프'. 크롬 지원부에서는 높여줍니까 도쿠먼트리올 '?' 아마 아닐 수도 있고, 그러다가 다시 다른 브라우저 및 어때?

이 버전은 넷스케이프 브라우저 오른쪽 '코드 진단트리로 지사급 노력해야 할 수 있는' 에서 2 1996년 넷스케이프 내비게이터, 그래서 당신은 아마 그냥 그대로 다시 치중한다는 iqn. # 39 점을 제외하고는, t 작동합니까 won& (또는 isn& # 39, 작동합니까 보장할 수 없다), "이름" 속성을 지정할 수 있기 때문에 haven& t # 39 의 '요소' 입력입니다 won& form& 추가할 수 있도록 # 39, t, s 연구학자들은 어레이입니다 # 39 로 명명된 요소:

<input type="text" id="VesDiameter" value="0" size="10" onKeyUp="CalcVolume();">

주고 인컨텍스트 이름을 사용할 것을 연구학자들은 어레이로써, 또는 (우수) 사용

var vesdiameter = document.getElementById("VesDiameter").value;

작업할 수 있는 모든 최신 브라우저 - 아니 분기 필요하다. 그냥 있는 대체할 수 있는 안전 측면에 대한 스니핑 있지만브라우저에 버전 보다 크거나 같은 확인할지 게테르망베이드 함께 '4' 지원:

if (document.getElementById) { // NB: no brackets; we're testing for existence of the method, not executing it
    // do stuff...
}

뿐만 아니라 사용자 입력을 검증하기 위해 좋습니다. 같은 일이

var vesdiameter = parseFloat(document.getElementById("VesDiameter").value);
if (isNaN(vesdiameter)) {
    alert("Diameter should be numeric");
    return;
}

보호하리요.

해설 (4)

이 행의 코드에 못하고 있다.

var RUnits = Math.abs(document.all.Capacity.RUnits.value);

나는 실패한 적이 있지만, 방화범 및 it 스테핑에 함께 할 수 있다. 알아낼 수 있도록 하는 문제다.

당신은 jquery 참조되었습니다. 물론 이 모든 기능을 안에서 사용할 수 있습니다. # 39, ll 정리하십시오 it& 코드 향상된다.

해설 (2)

어리석은 운행에서어떠한:

onclick="javascript:CapacityChart();"

Javascript 및 사용 방법을 검토완료 합니다 이산식 바인딩하지 프레임워크와도 바인딩하도록 콜백 이벤트 이다.

해설 (4)