Bunun en son olumsuz oylanmasından bu yana GÜNCELLENDİ ...
Sadece kısmını gördüm
var dots = 5
function increase(){
dots = dots+5;
}
daha önce, ancak daha sonra txt
kutunun değişkeni beslediği bana gösterildi dots
. Bu nedenle, yalnızca tam sayılar içerdiğinden ve kötü amaçlı kod içermediğinden emin olmak için girişi "temizlediğinizden" emin olmanız gerekir.
Bunu yapmanın kolay bir yolu, metin kutusunu onkeyup()
sayısal karakterler içerdiğinden emin olmak için bir olayla ayrıştırmaktır :
<input size="40" id="txt" value="Write a character here!" onkeyup="GetChar (event);"/>
Olay bir hata verir ve değer bir sayı değilse son karakteri temizler:
<script type="text/javascript">
function GetChar (event){
var keyCode = ('which' in event) ? event.which : event.keyCode;
var yourChar = String.fromCharCode();
if (yourChar != "0" &&
yourChar != "1" &&
yourChar != "2" &&
yourChar != "3" &&
yourChar != "4" &&
yourChar != "5" &&
yourChar != "6" &&
yourChar != "7" &&
yourChar != "8" &&
yourChar != "9")
{
alert ('The character was not a number');
var source = event.target || event.srcElement;
source.value = source.value.substring(0,source.value-2);
}
}
</script>
Açıkçası bunu regex ile de yapabilirsiniz, ama ben tembel çıkış yolunu seçtim.
O zamandan beri, kutuda yalnızca sayıların olabileceğini bilecektiniz, yalnızca şunları kullanabilmelisiniz eval()
:
dots = eval(dots) + 5;