Ho schede con i pulsanti successivo e precedente in basso, quando carico la pagina ajax carica i dati nella scheda uno, quando faccio clic su successivo il modulo sarà invia una multa, ma se premo precedente dopo aver premuto il tasto successivo, tirerò un'altra ajax per popolare la prima immersione nello stesso modo in cui la stavo caricando, ma quando faccio clic su Avanti per inviare il modulo, la richiesta ajax viene raddoppiata e viene inviata due volte, poi 4 volte 8 ecc, come posso fermare questo da happeing .... mia jquery su una delle mie pagine che è la stessa su tutti:La mia domanda Ajax viene inoltrata una volta, poi due, poi 4 volte e continua a raddoppiare
$(document).on("click",".previous", function()
{
$.ajax({
url: '<?php echo Config::get('URL'); ?>wizzard/personal_information',
type: 'GET',
success: function(data){
$('#tab2').html('');
$('#tab2').removeClass('active');
$('.tab_2').removeClass('active');
$('#tab1').html(data);
$('#tab1').addClass('active');
$('.tab_1').addClass('active');
}
});
});
$(document).on("click",".next", function()
{
$('#update_contact_information').on("submit", function()
{
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
dataType: 'json',
data: $(this).serialize(),
success: function(data){
if(!data.success){
$.notify(data.error,{
className:'error',
clickToHide: true,
autoHide: true,
globalPosition: 'bottom right'
});
$.ajax({
url: '<?php echo Config::get('URL'); ?>wizzard/employment_history',
type: 'GET',
success: function(data){
$('#tab2').removeClass('active');
$('.tab_2').removeClass('active');
$('#tab2').html('');
$('#tab3').html(data);
$('#tab3').addClass('active');
$('.tab_3').addClass('active');
}
});
}else{
$.notify(data.success,{
className:'success',
clickToHide: true,
autoHide: true,
globalPosition: 'bottom right'
});
$.ajax({
url: '<?php echo Config::get('URL'); ?>wizzard/employment_history',
type: 'GET',
success: function(data){
$('#tab2').html('');
$('#tab2').removeClass('active');
$('.tab_2').removeClass('active');
$('#tab3').html(data);
$('#tab3').addClass('active');
$('.tab_3').addClass('active');
}
});
}
}
});
return false;
});
$('#update_contact_information').trigger('submit');
});
mie schede:
<div class="panel-body">
<div id="rootwizard">
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<ul class="nav nav-pills">
<li class="active tab_1"><a href="#tab1" data-toggle="tab"><?php echo System::translate("Personal information"); ?></a></li>
<li class="tab_2"><a href="#tab2" data-toggle="tab"><?php echo System::translate("Contact information"); ?></a></li>
<li class="tab_3"><a href="#tab3" data-toggle="tab"><?php echo System::translate("Employment history"); ?></a></li>
<li class="tab_4"><a href="#tab4" data-toggle="tab"><?php echo System::translate("Qualification history"); ?></a></li>
<li class="tab_5"><a href="#tab5" data-toggle="tab"><?php echo System::translate("Avatar"); ?></a></li>
</ul>
</div>
</div>
</div>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
</div>
<div class="tab-pane" id="tab2">
</div>
<div class="tab-pane" id="tab3">
</div>
<div class="tab-pane" id="tab4">
</div>
<div class="tab-pane" id="tab5">
</div>
<ul class="pager wizard">
<li class="previous"><a href="javascript:;"><?php echo System::translate("Previous"); ?></a></li>
<li class="next"><a href="javascript:;"><?php echo System::translate("Next"); ?></a></li>
</ul>
</div>
</div>
e la chiamata iniziale:
<script>
$(function(){
$.ajax({
url: '<?php echo Config::get('URL'); ?>wizzard/personal_information',
type: 'GET',
success: function(data){
$('#tab1').html(data);
}
});
});
</script>
rimuovere l'associazione del gestore presentare dal gestore di clic . – Musa
Ma mi piacerebbe inviare il modulo al clic del prossimo pulsante .. –
come è il resto del tuo HTML? dov'è "#update_contact_information"? – whipdancer