나는 왜 입력 된 텍스트 상자의 숫자가 문자열로 취급되는지 알아 내려고하고있다. 여기서 짧은 스크립트는 두 번째 텍스트 상자에 숫자를 입력 할 때까지 작동합니다. 두 번째 텍스트 상자의 vallue는 문자열로 최종 값에 첨부되며 숫자로 추가되지 않습니다. 나는 parseInt()를 사용하여 시도했지만이 경우 결과는 NaN입니다.자바 스크립트 : 숫자가 문자열로 처리되는 이유는 무엇입니까?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
var extras_fee = 0;
function validate_extra1(){
var extra1_value = document.getElementById('extra1').value;
var extra2_value = document.getElementById('extra2').value;
var extra1_radiovalue = $('input[name=radio_extra1]:checked').val();
if (extra1_value.length > 0 && extra1_radiovalue == 2000)
{extras_fee = 2000;}
if (extra1_value.length > 0 && extra1_radiovalue == 4000)
{extras_fee = 4000;}
if (extra1_value.length == 0)
{extras_fee = 0;}
extras_fee = extras_fee + extra2_value;
document.getElementById('fee_container').innerHTML = extras_fee;
}
$(function(){
$(document).on('click', '#continue_extras', function(){
$("<div class='st'><b>Some title.</b></div>" +
"<div class='infwin'>Some text </div> " +
"<div>input some text here <input type='text' name='fname' id='extra1' onkeyup='validate_extra1()'>" +
"<input type='radio' name='radio_extra1' value='2000' onclick='validate_extra1()'>2000" +
"<input type='radio' name='radio_extra1' value='4000' onclick='validate_extra1()'>4000</div>" +
"<div class='infwin'>more text here</div> " +
"<div>input some numerical values here <input type='text' name='fname' id='extra2' placeholder='minimum 1000' onkeyup='validate_extra1()'> text</div>" +
"<div id='fee_container'></div>" +
"<div class='button' id='continue_post'>Submit >>></div> " +
"<div class='miclear'></div><br />").appendTo('#extras_container');
$('#continue_extras').hide();
});
});
</script>
</head>
<body>
<div id='continue_extras'>click</div>
<div id='extras_container'></div>
</body>
</html>
'값'이 문자열, 숫자가 아닌이기 때문에. 'parseInt'를 시도하십시오 – elclanrs
시도했습니다. 라인이있었습니다 : extra2_value = parseInt (extra2_value); 하지만 결국 엔 NaN 만 있습니다. 왜? – Sandor
이것을보십시오, http://jsbin.com/zifaforuca/2/edit – defau1t