Опитвам се да накарам слушателя на събития на фокус да се активира, когато потребител се опита да въведе P.O. Кутия в адресно поле. Не мога да редактирам въвеждането за лесно решение с натискане на клавиш. Какво пропускам в кода си, че не получавам предупреждението?
<input type="text" size="25" maxlength="75" name="ShipAddress1" id="v65-onepage-shipaddr1" value="" style="" onkeydown="">
<script type="text/javascript">
document.addEventListener("focus", function killPObox(id) {
var idValue = document.getElementById('v65-onepage-shipaddr1').value;
if (id == 'v65-onepage-shipaddr1') {
function runVal() {
if (idValue.substr(0,4).toUpperCase() === "PO B" || idValue.substr(0,5) === "P.O. ") {
alert("USA Light cannot ship to P.O. Boxes. Please enter a street address.");
}
}
setInterval(runVal(),1);
}
}, true
);
</script>
id
не е низ, това еEvent
обект. Можете да опитатеevent.target.id
- person Halcyon   schedule 24.04.2015setInterval
неправилно. Трябва да му предадете обратно извикване катоsetInterval(runVal, 1)
(обърнете внимание на липсата на скоби). Точно сега вие му предавате изхода наrunVal()
, който е нищо. Функцията ще се стартира веднъж и след това никога повече. - person Halcyon   schedule 24.04.2015