Приветствую всех,
Делаю обычную форму с именем, рутом и фамилией.
Я отправляю форму с помощью кнопки, но когда данные не проверены, форма все равно отправляется. поэтому мой вопрос.
Есть ли функция javaScript, которая останавливает кнопку отправки при сбое проверки?
function sendForm(){
alert("ENTRO SEND");
alert("valido: "+valido);
if(valido){
alert("valido TRUE");
validateSetDataAhorro();
}else{
alert("valido FALSE");
return false;
}
}
<form action="http://algunsitio.com/prog/usuarionuevo" method="post">
<p>
<label for="nombre">Nombre: </label>
<input type="text" id="nombre"><br/>
<label for="apellido">Apellido: </label>
<INPUT type="text" id="apellido"><br/>
<label for="email">Rut: </label>
<INPUT type="text" id="email"><br/>
<button onclick="javascript:sendForm();" class="btn btn-second"
title="Continuar">Boton</button>
</p>
</form>
Если вы оставите кнопку вне формы, она не отправит ее, затем вы проверите поля (я не делал никакой проверки), если переменная
valido
верна, она отправит форму сsubmit()
javascript, в противном случае она показывает предупреждение для вас подтвердите поля. Попробуйте изменить переменную сfalse
на,true
чтобы увидеть, как это работает для вас.Логика, которую вы ведете, прекрасна. У вас есть кнопка отправки и в событии клика
Вы вызываете функцию sendForm().
Проблема в том, что допустимая переменная не определена, как узнать, что форма действительна? Возможно, он имеет только значения (если это так, вы можете проверить его с помощью required на входе).
Вы должны работать с действительной переменной, которую вы собираетесь проверять, и таким образом вы будете отправлять форму только тогда, когда данные формы будут проверены на клиенте.
Основной способ проверить, имеют ли входные данные значение:
В этом коде браузер проверяет, что поле ввода имеет значение, и если это так, он продолжает его отправку, в противном случае он запрашивает его.
Ваше здоровье,
Я не вижу кнопки "Отправить", так что для отмены ничего не нужно.
На самом деле у вас есть обычная кнопка, которая вызывает вызов javascript. В правильном случае указанный javascript должен будет выполнить отправку формы или вызов Ajax или что-то подобное.