У меня есть простая страница, которая принимает form
и делает jsonp
ajax
Запросить и форматирует ответ и отображает его на странице, это все нормально, но я хотел добавить его так, (через php $_GET
переменных), тогда форма автоматически отправит на загрузку страницы, но вместо этого происходит то, что страница постоянно обновляется, несмотря на то, что функция submit
возвращает false
.Неполадки Форма отправки программно
кнопку Submit (просто чтобы показать, что не имеет id
как submit
или что-нибудь)
<button type="submit" id="check" class="btn btn-success">Check</button>
JQuery
$(document).ready(function() {
$('#my_form').on('submit', function() {
var valid = 1;
$('#my_form .required').each(function() {
if ($(this).val() == '') {
$(this).parents('.form-group').addClass('has-error');
valid = 0;
} else {
$(this).parents('.form-group').removeClass('has-error');
}
});
if (valid === 1) {
$.ajax({
url: '/some_url',
data: $('#my_form').serialize(),
type: 'GET',
cache: false,
dataType: 'jsonp',
success: function(data) {
var html = 'do something with data';
$('#results').html(html);
},
error: function() {
$('#results').html('An error occurred, please try again');
}
});
} else {
$('#results').html('Please fill in all required fields');
}
return false;
});
});
В части я добавил только после того, как $(document).ready(function(){
и до submit
был:
if ($('#input_1').val() != '' || $('#input_2').val() != '') {
// $('#check').trigger('click');
$('#my_form').submit();
}
Обе эти линии имеют такой же эффект, но я делаю то же самое в другом проекте, и это прекрасно работает, насколько я вижу, единственная разница в версии jQuery, я использую 1.11
для этой страницы.
Update
Извиняюсь, я, кажется, ответили на свой вопрос, я думал, что, так как программный submit
был первым делом $(document).ready(function(){
тогда, возможно, это был тот случай, когда фактическая submit
функция не является до того, как событие было запущено, поэтому я просто переместил этот блок после функции submit
, и теперь он отлично работает.
Duplicate: http://stackoverflow.com/questions/27719609/prevent-default-form-submit-when-submitting-from-javascript – hindmost
@hindmost, очень похоже, но этот вопрос не очень полезен, но никогда не будет, я есть ответ. – martincarlin87