jQuery(document).ready(function(){ $('input.inpSong').on('change',function(){ var songtitle = $('input.inpSong').val(); var artid = $('input.inpArtId').val(); var msgbox = $('#status'); if(artid.length > 0 && songtitle.length > 0){ $.ajax({ type:'GET', url:'/ajax/checkSongByArtist.php', data: 'wyk=' + artid + '&utw=' + songtitle, success: function(data, textStatus) { $('#status').html(data);}, }) } }); $('#artid').change(function(){ var songtitle = $('input.inpSong').val(); var artid = $('#artid').val(); var msgbox = $('#status'); if(artid.length > 0 && songtitle.length > 0){ $.ajax({ type:'GET', url:'/ajax/checkSongByArtist.php', data: 'wyk=' + artid + '&utw=' + songtitle, success: function(data, textStatus) { $('#status').html(data);}, }) } }); $('.inpArtist').autocomplete({ source:'/ajax/ajax-artists.php', selectFirst: true, minLength:2, autoFocus: true, select:function(evt, ui) { this.form.artid.value = ui.item.wykonawca; }, change:function(evt, ui) { this.form.artid.value = ui.item.wykonawca; } }); });
Mam formularz za pomocą którego dodaje utwory do bazy. Wykonawca jest pobierany z listy za pomocą jquery Autocomplete, tytuł wprowadzam ręcznie po czym po wyjściu z inputa piosenka za pomocą ajaxa następuje sprawdzenie w bazie czy utwór w powiązaniu z wykonawcą nie istnieje, jak istnieje w divie #status pojawia się odpowiedni komunikat. do ajaksa wysyłana jest zawartość z pól artid i piosenka, niestety za pomocą ajaxa sprawdza tylko wtedy kiedy wybiorę najpierw wykonawcę a potem wpisze piosenkę, co robię nie tak, że nie działa zawsze gdy wypełnione są obydwa pola, bez względu na to które wypełnię jako pierwsze?