우리는 두 가지 방법으로 문제를 해결할 수 있습니다.
참고 : 다음에서는 값을 텍스트 필드에 표시한다고 가정합니다. 표시된 코드 스 니펫은 해당 필드의 Calculate 이벤트 스크립트의 일부입니다. 값을 다른 계산에 사용하려면 변수를 정의한 다음 "event.value"대신 해당 이름을 사용하십시오.
a) 옵션에서 값 ("부품 유형 및 결함 유형"의 의미로)을 계산할 수있는 경우 라디오 버튼 선택에 대한 반환 값으로 구성 요소를 설정할 수 있습니다. 이 경우 값은 빠르게 계산됩니다 :
event.value = this.getField("PartType").value*1 + this.getField("DefectType").value*1) ;
또는 더 복잡한 알고리즘/수식이있는 경우 값을 대신 사용하십시오.
b) 값을 계산할 수식/알고리즘이 없으면 조회 테이블이 필요합니다. 우리의 경우, 2 차원 배열을 정의 할 것입니다. 여기서 요소는 PartType을 나타내고, 결함 유형의 배열입니다.
그러면 라디오 버튼 필드의 반환 값은 해당 찾아보기 테이블의 색인 번호와 일치합니다.
우리는 먼저 조회 테이블을 설정 시작할 것 :
var myLUT = new Array() ;
myLUT[0] = [10, 70, aa] ; // values for Gear and Burn, Stress, Depth
myLUT[1] = [bb, cc, dd] ; // values for Camshaft and Burn, Stress, Depth
myLUT[2] = [35, ee, ff] ; // values for Bearing and Burn, Stress, Depth
등 AA, BB에서, accoriding 구성 요소의 값을 나타내는 경우.
계산 테이블에서이 찾아보기 테이블을 정의 할 수 있지만이 정의가 포함 된 문서 수준 스크립트를 만드는 것이 더 효율적입니다.
계산]의 스크립트는 다음과 같습니다
var pt = this.getField("PartType").value ;
var dt = this.getField("DefectType").value ;
event.value = myLUT[pt][dt] ;
하고 그것을 할 것입니다.
라디오 버튼 필드를 처리 할 때 한 가지 더 있습니다.옵션을 선택해야하는 경우에도 선택 항목을 기본값으로 가질 수 있습니다. 그러나 두 경우 모두 옵션이 선택된다고 가정합니다. 우리는 또한 라디오 버튼 그룹 중 하나 또는 둘 모두가 (아직)없는 선택 경우 발생하는 지정해야 할 수도 있습니다
if (this.getField("PartType").value != "Off" && this.getField("DefectType").value != "Off") {
// now run our code
}
: 따라서, 우리는 두 그룹이 확인 옵션을하도록 요구하여 코드를 보호해야합니다.
whr이이 코드입니까? – user7417866
Refere this http://www.javascript-coder.com/javascript-form/javascript-calculator-script.phtml –