У меня есть одна страница с несколькими формами, отправляющая каждый из них с вызовом AJAX на тот же PHP-контроллер. В Chrome, когда я отправляю форму, я получаю сообщение beforeSend, а затем успешный вызов. В Safari, IE и Firefox он вместо этого обновляет страницу, что, похоже, идет прямо за призывом ajax, который не должен обновлять его.AJAX работает в Chrome, но не в Safari, Firefox или Internet Explorer
Формы этого типа:
<form method="post" class = "multi-form teacher_account_form" id="personal_form" name="personal_form">
<div class = "form-group">
<label for="phone">What is your phone number?*</label>
<input type="text" class="form-control bfh-phone" data-format="+86 ddd dddd dddd" name="phone" id="phone" value="<?=$this_user[0]['phone']?>">
</div>
<div class="form-group">
<button type="submit" class="btn btn-default btn-med account_submit" id="personal_submit" name="personal_submit">Update Personal</button>
</div>
</form>
JS, как это:
var which_button;
$('.account_submit').click(function() {
which_button = $(this).attr('id');
// Create empty jQuery objects -
var $jsOutput = $([]);
var $jsForm = $([]);
// url to submit to
var ajaxURL = "https://stackoverflow.com/users/p_teacher_account_work";
// Assign jQuery selector objects
switch (which_button) {
case "work_submit":
$jsOutput = $('#pay_output');
$jsForm = $('#pay_form');
break;
case "edu_submit":
$jsOutput = $('#edu_output');
$jsForm = $('#edu_form');
break;
case "image_submit":
$jsOutput = $('#image_output');
$jsForm = $('#image_form');
break;
case "personal_submit":
$jsOutput = $('#personal_output');
$jsForm = $('#personal_form');
break;
}
// Lock and load the ajax request -
var ajax_options = {
type: 'post',
url: ajaxURL,
beforeSend: function() {
//Display a loading message while waiting for the ajax call to complete
$jsOutput.html("Updating...");
},
success: function(response) {
$jsOutput.html(response);
}
};
$jsForm.ajaxForm(ajax_options);
});
Мой PHP файлов запросов в базу данных и отправить обратно информацию на вид, который вторит к тому же страницу, на которой сидят.
вы пытались Firebug плагин на Firefox, чтобы увидеть, если он показывает какую-либо ошибку или нет? – nur
firebug: TypeError: установка свойства, которое имеет только getter ... bootstrap-formhelpers.min.js Строка 8. Я использую этот плагин только для некоторых из нескольких форм на странице, т, поэтому я думаю, что это не так. – compguy24
О, нет, нет, нет, много чего здесь не так, с чего начать! im удивил, что хром отправляет это ..., у вас есть кнопка отправки, которую вы нажимаете, которая всегда будет отправлять с помощью или без аякса, поэтому вам нужно будет функционировать (e) {e.preventDefault; .... код .... Я всегда возвращаю false; просто выложите e ... не поймайте. два, которые вы даже не отправили ни одной из данных формы! и т. д., найти учебное пособие ... – cmorrissey