В настоящее время я пытаюсь создать регулярное выражение для работы в поле ввода. Сам JavaScript не возвращает ошибок в консоли JS Chrome, но поскольку onLoad() даже не работает, я очень смущен. Вот мой сайт, если вы хотите увидеть это сами: users.aber.ac.uk/mta2/cs25010Мой JavaScript, похоже, не работает
<script>
var regEx = new RegExp("[0-9]+\.[0-9][0-9]");
var regEx2 = new RegExp("[0-9]+");
function validateFilter()
{
var input = document.forms["filterPrice"]["price"].value;
if(regEx.test(input) == true || regEx2.test(input) == true)
{
alert("Input must be only numbers. Decimal allowed");
return false;
}
}
function onLoad()
{
alert("HI");
}
</script>
<form name="filterPrice" action="homepage.php" method="GET" onsubmit="return validateFilter()">
<select name = priceSelect>
<option value = "Greater"> Filter prices greater than </option>
<option value = "Less"> Filter by prices less than </option>
</select>
<input id ="priceInput" name="price" type ="text"> </input>
<button> Go </button>
</form>
Вы не зовем 'onLoad' везде. Просто определение этого не делает много. Вы также должны «использовать» его. –
, но это все еще не объясняет, почему мой validateFilter() не запускается. –
Правда, но вы не сказали, что он не запускается. Вы просто говорили о 'onLoad'. Откуда вы знаете, что 'validateFilter' не запускается? Что происходит? –