Moreover, the alert function that prints the content of option, vDaeId, dgpId does not executed (I dont see a pop up in the browser).
. 내 생각에 당신은 적어도 (D1
, D2
, 또는 dgpids
)에 의존하는 요소 중 하나가 없어야합니다. 따라서 document.getElementById
은 null
을 반환하고, .value
에 액세스하려고하면 예외가 발생합니다. 문자열이 당신이 getElementById
로 사용
참고 id
값이 아닌 name
의해야합니다. 따라서 한 요소에는 id="D1"
, 다른 요소에는 id="D2"
, 다른 요소에는 id="dgpids"
이 있어야합니다. 또한 id
값은 대소 문자를 구분할 수 있으며 은이 페이지에서 고유해야 함을 유의하십시오. (대부분의 브라우저는 마지막 규칙을 망칠 경우 문서 순서대로 첫 번째 줄을 제공하지만 ...)
페이지가 완전히로드 될 때까지 goToPMDisplayer
을 호출하지 않는다고 가정하지만, 페이지가로드되는 동안 호출하면 요소가 존재할 때까지 호출하지 말아야합니다 (예 : 호출을 요소보다 문서에서 더 낮게 설정).
이 같은 문제에 대한
, alert
스타일 디버깅은 몇 년 전에 나갔다. 2012 년에는 적절한 디버거를 사용합니다. 요새 모든 주요 브라우저에 IE가 내장되어 있습니다. 중단 점을 설정하고 코드를 살펴보고 DOM의 현재 상태를 검사 할 수 있습니다 ... 간단히 말해서 어둠 속에서 어수선하게 할 필요가 없습니다. 당신은 무슨 일이 일어나고 있는지 밝힐 수 있습니다.
질문에 대한 코멘트, 당신은 그냥 그 수있는 방법을 볼 수 없습니다, 외람된
I verified that all ements exist.
말했다했습니다.
id
값이 약간 다르거 나
id
값이 전혀없는 것 같지만 그 값은
name
입니다.
다음은 완전한 작동 예제입니다. Live copy |
<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Test Page</title>
<style>
body {
font-family: sans-serif;
}
</style>
</head>
<body>
<input id="D1" value="valueOfD1">
<input id="D2" value="valueOfD2">
<input id="dgpids" value="valueOfdgpids">
<br><input id="theButton" type="button" value="Click Me">
<script>
function goToPMDisplayer(){
alert('Got ');
var option=document.getElementById("D1").value;
var vDaeId=document.getElementById("D2").value;
var dgpId=document.getElementById("dgpids").value;
var str= option + " "+ vDaeId + " "+ dgpId
alert(str);
var loc = "display.jsp?option="+option + "&vdaeid=" + vDaeId + "&dgpid=" + dgpId
alert("loc = " + loc);
}
document.getElementById("theButton").onclick = goToPMDisplayer;
</script>
</body>
</html>
누락되었습니다. ";"s? – Sebas
@Sebas - 자바 스크립트에서는 문제가 없습니다. – Oded
'alert (str)'이 작동하지 않으면'var'줄 중 하나에 오류가 있음을 의미합니다. 내 추측은 존재하지 않는 요소 중 하나입니다. –