У меня есть кнопка в форме, которая перенаправляет страницу в другой веб, как только данные проверены.Href кнопки имеет информацию, только если эти данные проверены, в противном случае она будет нулевой.
Проблема в том, что, даже если все работает нормально, для перенаправления пользователя на страницу, два щелчканеобходимы для кнопки, и я не знаю, почему.
Я передаю формат HTML-формы, функцию, которая проверяет данные, а затем часть, где данные захватываются и Href кнопкизаполнены.Все это в очень краткой форме с соответствующими вещами.
ФОРМА HTML:
<form id="formTarjeta" class="formPayu" onsubmit="return registroCompraTarjeta()">
<p><strong>Dirección de envío</strong></p>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">
<i class="glyphicon glyphicon-home"></i>
</span>
<input type="text" class="form-control" id="registroDireccionTarjeta" name="registroDireccionTarjeta" placeholder="BUSQUE y SELECCIONE su dirección" required>
</div>
</div>
<div class="clearfix"></div>
<a class="btn btn-block btn-lg btn-default backColor btnPayu" id="load" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> PROCESANDO">CONFIRMAR DATOS</a>
</form>
ФУНКЦИЯ ПРОВЕРКИ В JS
function registroCompraTarjeta(){
var direccionTarjeta = $("#registroDireccionTarjeta").val();
if(direccionTarjeta == ""){
swal('WARNING', 'warning');
return false; }
return true;
}
КНОПКА ЗАПИСИ ДАННЫХ И ИЗМЕНЕНИЯ HREF
$("#formTarjeta").on('click','.btnPayu',function(e){
if (registroCompraTarjeta() == true) {
//CAPTURE DATA FORM AND CREATE AN ARRAY TO SEND BY AJAX
if(...){
$.ajax({
url:"ajax/cart.ajax.php",
method:"POST",
data: array,
cache: false,
contentType: false,
processData: false,
success:function(response){
$('.btnPayu').attr('href', response);
$('.btnPayu').on('click', function() {
var $this = $(this);
$this.button('loading');
setTimeout(function() {
$this.button('reset');
}, 4000);
});
}
})
} else {
...
}
}