2015-12-29 4 views
-1

Я воссоздал проблему в одном из моих проектов. Я понятия не имею, почему это не работает. Кажется, что я не могу добавить текстовое поле. По какой-то причине использование текстового поля создает эту ошибку.Почему эта кнопка не работает?

<input type="text" id="apple"> 
<input type="button" value="Go" id="banana"> 


<script> 
var element = document.getElementById('apple'); 
var element2 = document.getElementById('banana'); 

element2.addEventListener("click", function(){ 

var test = element.value; 

if (typeof test != "number"){ 
alert(); 
} 

}); 
</script> 

Fiddle: https://jsfiddle.net/3mp0869s/8/

+0

Значение входного сигнала всегда является строкой, которую вы хотите ** ** синтаксического анализа его. Кроме этого, что «не работает»? –

+0

Ах, спасибо. Я проанализирую его. – Mike

+0

работает нормально, но всегда будет отображать предупреждение, потому что тип 'test' – jolmos

ответ

2

element.value; вернет всегда строку, поэтому условие никогда не будет дружнее, вы должны разобрать возвращаемое значение. или если вы хотите просто проверить, если значение ввода является число, которое вы можете использовать isNaN() функцию:

if(isNaN(element.value)){ 
    alert('is not a number'); 
}else{ 
    alert('is a number'); 
} 

ПРИМЕЧАНИЕ: вы также можете использовать вход с типом number, поэтому вам не нужно проверить.

Надеюсь, это поможет.

Смежные вопросы