Ich habe versucht, dieses Formular mit jQuery einzureichen, aber ich kann nicht verhindern, dass es umleiten, nachdem ich es einreiche. Wo gehe ich falsch?Warum verhindert nicht preventDefault() Umleitung bei dieser Formularübergabe?
Meine Form vereinfacht:
<form action="http://xxxxxxx" method="post" id="myform">
<input type="text" name="my_field">
<a class="last">Submit<a>
</form>
JS:
$('.last').on('click', function() {
if ($('#myform').valid()) {
$('#myform').submit();
}
$('#myform').on('submit', function(event) {
event.preventDefault();
$.getJSON(
this.action + "?callback=?",
$(this).serialize(),
function(data) {
if (data.Status === 400) {
alert(data.Message);
$('#noti').text(error).addClass('notice-error', function() {
$('.last').attr('id', '#contact-us-btn').addClass('button-error').html('Contact us');
});
$('#contact-us-btn').on('click', function() {
zE(function() {
zE.show();
});
});
} else {
console.log(data.Message);
$('#step-3').slideUp(function() {
$('#noti').text(success).addClass('text-success');
$('.next, .previous').fadeOut();
$('.panel.success').slideDown();
});
}
}
)
});
});
Die Sache ist, habe ich ein anderes Formular mit der gleichen Struktur, die nicht umleitet .. das ist der verwirrendste Teil darüber. – ProEvilz
@MaxZoom: Ich denke nicht, dass das stimmt. In diesem Fall sendet der Benutzer das Formular, bevor der Übermittlungs-Handler zugewiesen wird. –
Also, tauschen Sie sie um? – ProEvilz