#javascript #html
Вопрос:
Следуя приведенному здесь коду, я хочу запретить отправку формы, которая выполняется в Flask на html-странице, уведомление работает, но форма отправляется независимо от этого.
JS:
function ValidateIPaddress(inputText)
{
var ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
if(inputText.value.match(ipformat))
{
document.ip_checks.IPs.focus();
return true;
}
else
{
alert("You have entered an invalid IP address!");
document.ip_checks.IPs.focus();return false;
}
}
HTML:
<form name="ip_checks" method=post enctype=multipart/form-data >
<p><label for="ipaddresses" class="form-label">IP Addresses:</label>
<textarea name="IPs" cols="40" rows="2" class="form-control"></textarea></p>
<p><input type = "submit" value = "Submit" class = "btn btn-primary" onclick="ValidateIPaddress(document.ip_checks.IPs)"/></p>
</form>
Я попытался использовать функцию preventDefault() безрезультатно. Есть ли способ сделать это с помощью колбы?
Комментарии:
1. Я не знаю, если это работает именно так (поскольку я не знаю почти ничего о JS), но если это возможно, чтобы изменить некоторые атрибута style в HTML теге, то теоретически должно быть возможно изменить форму в теге атрибута
method
нет или sth, как это так, что форма не может быть опубликовано, потому что оно просто не имеет, что метод доступен, не знаю, работает ли это или если это может быть обойден в инструментах разработчика2. хотя я бы сказал, что самый простой способ не разрешить отправку формы-это не показывать указанную форму
Ответ №1:
Исправлено путем перемещения onsubmit в форму, а не на кнопку отправить.
<form name="ip_checks" method=post enctype=multipart/form-data onsubmit="return ValidateIPaddress(document.ip_checks.IPs)">
<p><label for="ipaddresses" class="form-label">IP Addresses:</label>
<textarea name="IPs" cols="40" rows="2" class="form-control"></textarea></p>
<p><input type="submit" value="Submit" name="Submit" class="btn btn-primary" /></p>
</form>