Что вам нужно сделать, это назначить обработчик события для отправки события формы и выполнить ваши проверки там.
<form onsubmit="return checkForm();" action="next.php" method="get">
<input id="home_page_input" type="text" name="page" value="http://" >
<input id="url_input_button" type="submit" value="enter it !" />
</form>
И где-нибудь в Javscript:
// onSubmit - if it returns false, it won't submit, and vice versa
function checkForm () {
var url_input_button = document.getElementById('url_input_button');
var ok = /^[a-z]+:\/\//i.test(url_input_button.value);
if (!ok) {
alert('url is not correctly formed');
return false;
}
// url is fine, continue
return true;
}
Есливы не знаете, где разместить код JavaScript, вы также можете разместить его рядом с HTML, например:
<script type="text/javascript">
// onSubmit - if it returns false, it won't submit, and vice versa
function checkForm () {
var url_input_button = document.getElementById('url_input_button');
var ok = /^[a-z]+:\/\//i.test(url_input_button.value);
if (!ok) {
alert('url is not correctly formed');
return false;
}
// url is fine, continue
return true;
}
</script>
<form onsubmit="return checkForm();" action="next.php" method="get">
<input id="home_page_input" type="text" name="page" value="http://" >
<input id="url_input_button" type="submit" value="enter it !" />
</form>
edit: Я так долго делал jquery,что мои навыки ванильного JavaScript ухудшились.Не знаю, как назначить событие, не прибегая к встроенному JavaScript. Я отредактировал пример
Несколько связанный вопрос по переполнению стека: как я могу проверить URL в JavaScript с помощью регулярного выражения