firefox, okno modalne i problem

0

Mam kod wczytujący dane z bazy danych do okna modalnego, które to dane można zmienić i za pomocą AJAX-a zaktualizować.
Kod działa na chrome, natomiast na firefox dane w bazie się nie aktualizują.

Wpisałem w skrypcie wyświetlającym dane z rekordu kontrolny "alert" wyświetlający ID pola z danymi bazych i wyskoczyło mi coś takiego jak poniżej :

screenshot-20180512205541.png

Powinno wyskoczyć samo 352 a dołącza się komunikat z oknami dialogowymi. Zastanawiam się czy to może być powód tego, że baza się nie aktualizuje. Wyłączyłem całkowicie blokowanie wyskakujących okien ale to nic nie dało.
Konsola nic nie wyrzuca.

to trochę skrócony kod wywołania.


function sub() {

			// SUBMIT FORMULARZA MODALA

		   $('#insert_form').on("submit", function(event)
		   {  
		        var Idd = $('#TId').val(); 
			var DataZgloszenia = document.getElementById("TDataZgloszenia").value;
			var DzialDocelowy = document.getElementById("TDzialDocelowy").value;
                        DzialDocelowy=DzialDocelowy.replace(/\s/g, "");
		
			var Dyspozytor = document.getElementById("TDyspozytor").value;
			var DataRozpoczecia = document.getElementById("TDataRozpoczecia").value;
			var GodzinaRozpoczecia = document.getElementById("TGodzinaRozpoczecia").value;
			var DataZakonczenia = document.getElementById("TDataZakonczenia").value;
			var GodzinaZakonczenia = document.getElementById("TGodzinaZakonczenia").value;
                        var Adres = document.getElementById("TAdres").value;
			var OpisZadania = document.getElementById("TOpisZadania").value;
			var select2 = document.getElementById("select2").value;
	
	  var zzpcz1 = document.getElementById("zzpcz1").checked;
	  var ztb1 = document.getElementById("zP1").value;
	  if (zzpcz1) zzpcz1='on';	
  
      $.ajax({
      url: 'update2.php',
      type: 'POST',
      data: {
      	'TId': Idd,
      	'TDataZgloszenia': DataZgloszenia,
      	'TDzialDocelowy': DzialDocelowy,
      	'TDyspozytor': Dyspozytor,
		'TDataRozpoczecia': DataRozpoczecia,
		'TGodzinaRozpoczecia': GodzinaRozpoczecia,
		'TDataZakonczenia': DataZakonczenia,
		'TGodzinaZakonczenia': GodzinaZakonczenia,
		'TAdres': Adres,
		'TOpisZadania': OpisZadania,
		'select2': select2,

		'ztb1': ztb1,
		'zpcz1': zzpcz1,
		
      },
	  beforeSend:  function(res)
	  {
		alert("Before");  
	  },
      success: function(response)
	  {	
       // $edit_comment.replaceWith(response);
	     if(response)
		 {			 		 
			alert(response);
		 }
      },
	 error: function(XMLHttpRequest, textStatus, errorThrown) 
	 {
	 alert("Error");
	 console.log(XMLHttpRequest.responseText); 
         alert(XMLHttpRequest.responseText);
	 }
  	});		
			        
}); // KONIEC SUBMIT FORMULARZA MODALA
}

W pliku update2.php na samym początku umieściłem

echo "update start";

W chrome fragment : success: function(response) zwraca mi mój komunikat echo "update start"; w firefox nie :(

W firefox wyświetla się tylko

beforeSend:  function(res)
	  {
		alert("Before");  
	  },

Czy ktoś ma pomysł co może być nie tak

0

Komunikat to normalna rzecz. Na chromie z tego co kojarzę też się coś takiego pojawia. On nie ma wpływu na zawartość strony ani nic.

Spróbuj zrobić na początku success console.log, żeby sprawdzić czy ajax się poprawnie wykonuje. Bardzo możliwe, że plik, który wywołujesz po prostu nic nie zwraca? jak wyczyściłem plik, który był odbierany to efektem było właśnie nic - nie pojawił się alert. Szedłbym chyba w tą stronę. Akurat jquery jest dosyć dobrze ogarnięte i nie spotkałem się jeszcze z tym żeby coś działało na chromie i nie działało na firefoxie.

Mam dodatkowo dwie uwagi co do Twojego kodu:
pierwsze, co oznacza zmienna zzpcz1 i czy siadając do tego kodu za rok będziesz bez problemu w stanie ogarnąć co miałeś na myśli? Czy jak ktoś będzie pracował nad tym kodem z Tobą to będzie w łatwy sposób ogarnąć co to jest?
drugie, język polski i programowanie bardzo mocno się nie lubią. Staraj się tego unikać raczej :)

BTW, co tam ciekawego skrobiesz jeśli to nie tajemnica?

0

Witam
Część kodu związaną z tymi nazwami mam opisaną komentarzami w innym pliku, ale masz rację , jako że jestem początkującym to mój kod jest raczej kiepski.

To baza danych zgłoszeń w dyspozytorni. Baza działa już w firmie w której pracuję, ale cały czas ją rozwijam by praca była bardziej intuicyjna.

Dzięki za sugestię, jak wrócę z urlopu to niezwłocznie sprawdzę. Kod działa bez problemu na chrome, czy na slimjet opartym na chrome, a na Firefox tak jak pisałem, echo na samym początku wywoływanego pliku nie jest wyświetlane.

Jeszcze raz dzięki za sugestię, pod koniec tygodnia sprawdzę

1

Sprawdź jeszcze czy masz raportowanie błędów włączone.
Machnij sobie na początku tego update2 takie coś:

ini_set("display_errors", true);
error_reporting( E_ALL );

Możliwe, że pojawia się jakiś błąd fatal czy coś. Pewnie nie skoro na chromie działa, ale warto sprawdzić.

Co do samej jakości kodu to nie ma co się przejmować. Fajnie po prostu na początku już dobre nawyki wyrobić.

Życzę powodzenia w przygodzie z programowaniem!

0

konsola firefoxa wyrzuca :
screenshot-20180518203301.png
update2.php nie wykonuje się

konsola chrome jest czysta :
screenshot-20180518203343.png
update2.php wykonuje się

wersja jquery : jQuery JavaScript Library v1.12.4

0

Submit.js to Twój plik? Zobacz linię 172 wskazywaną przez błąd.
Nigdy takiego błędu nie miałem, ale google podpowiada, że to może być coś związanego z próbą dostępu do zasobów, do których dostępu nie można uzyskać. W tą stronę chyba bym szukał.

0

tak, submit to mój plik, zawiera się w nim funkcja sub() która wrzuciłem w powyższym poście.

nawet gdy to funkcje okroję do tylko jednego pola , dalej wywala ten błąd

function sub() {
 
            // SUBMIT FORMULARZA MODALA
 
  $('#insert_form').on("submit", function(event)
 {  
 
      $.ajax({
      url: 'update2.php',
      type: 'POST',
      data: {
        'TId': 100      
   },
      beforeSend:  function(res)
      {
         console.log("before")
      },
      success: function(response)
      { 
         console.log("success")
 
      },
 
        error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
 
    });     
 
}); // KONIEC SUBMIT FORMULARZA MODALA
}
0

Nawet jak nie używam pliku i wrzucę kod

 $('#insert_form').on("submit", function(event)
 {  
 
      $.ajax({
      url: 'update2.php',
      type: 'POST',
      data: {
        'TId': 100      
   },
      beforeSend:  function(res)
      {
         console.log("before")
      },
      success: function(response)
      { 
         console.log("success")
 
      },
 
        error: function (xhr, ajaxOptions, thrownError) {
        alert(xhr.status);
        alert(thrownError);
      }
 
    });     
 
}); // KONIEC SUBMIT FORMULARZA MODALA

bezpośrednio do $(document).ready(function() , to w konsoli widnieje błąd

0

Jeszcze śmieszniejsze jest to, że przy którejś z kolei próbie kod zadziałał i baza się zaktualizowała. Popróbowałem dalej i kod po prostu losowo działa. 20 razy nie, potem raz zadziała. Czasem dwa razy z rzędu , potem 50 nie. Ręce opadają....

0

znalazłem problem

 $('#insert_form').on("submit", function(event)
		

zmieniłem na wywołanie po naciśnięciu przycisku

$('#sb1').on('click', function() 

i wszystko działa , zarówno na chrome jak i na FF

Dzięki za podpowiedzi , temat do zamknięcia

1 użytkowników online, w tym zalogowanych: 0, gości: 1