: 나는 버튼을 클릭하면, 4에서 4 개 문자열에 소요 자바 스크립트 프로그램이는 "... 시도 잡아라"블록에서는 parseInt() 작업하지 내가 할 노력하고있어
을 텍스트 상자를 양식에 저장하고 해당 문자열을 형식이 지정된 텍스트 영역으로 출력합니다.
function testResults(form){
var errorhandle1 = parseInt(document.myForm.Item_Code.value);
var errorhandle2 = parseInt(document.myForm.Item_Cost.value);
var errorhandle3 = parseInt(document.myForm.Quantity.value);
//above variables are for error handling.
var d = " ";
var subtotal = parseInt(form.Item_Cost.value) * parseInt(form.Quantity.value);
var subtotalValue = parseInt(document.myForm.Subtotal.value);
var testVar = "Item Code: " + form.Item_Code.value + d +
"Item Name: " + form.Item_Name.value + d +
"Item Cost: " + form.Item_Cost.value + d +
"Quantity: " + form.Quantity.value + '\n';
document.myForm.myTextarea.value += testVar;
document.myForm.Subtotal.value = parseInt(subtotal) + subtotalValue;
document.myForm.Sales_Tax.value = document.myForm.Subtotal.value * salestax;
document.myForm.Total.value = parseInt(document.myForm.Subtotal.value) + parseFloat(document.myForm.Sales_Tax.value);
}
위의 코드
잘 작동, 나는 내 프로그램의 범위에 대한 수행 할 작업을 정확하게 수행합니다. 나는 시도에 달성하기 위해 노력하고있어try {
if ((isNaN(errorhandle3) == true) || (isNaN(errorhandle2) == true)) {
throw "Error1";
}
} catch (e) {
if (e == "Error1") {
alert("Error! You must enter a number into the qty and cost fields!");
}
}
은 ... catch 블록은
document.myForm.Item_Code.value
document.myForm.Item_Cost.value
document.myForm.Quantity.value
실제로 수 있는지 확인하는 것입니다.
try ... catch 문은 프로그램을 실행할 때마다 트리거되며 해당 텍스트 상자에 무엇을 넣어도 상관 없습니다. 나는 이것에 대한 모든 통찰력에 크게 감사 할 것입니다!
기타 :이 링크를 모두보고 내 문제를 이해할 수 없습니다. 여기 javascript parseInt return NaN for empty string http://www.w3schools.com/jsref/jsref_isnan.asp
이 뭔가 주위에/던져 그 자체로하지 않는 간단한을 catch'을'사용하려고 여기 말도 안돼 비교 할 필요가 없습니다. 바로'if' 문을 사용하면 코드가 더 간단 해지고 더 잘 수행됩니다. 여기에 예외는 필요하지 않습니다. – jfriend00
팁 : '== true'에 대해 부울을 테스트하지 마십시오. 그것은 불필요합니다. 'if (isNaN (errorhandle3) || isNaN (errorhandle2))'가 더 잘 읽습니다. – Ryan
빠른 답장을 보내 주셔서 감사합니다. 나는 지금 그것들을 바꾸는 과정에있다. – Fishbones