Koszyk nie wysyła zamówienia - problem z js onclick

Błędy w oprogramowaniu KQS.store. Autor oprogramowania będzie zapoznawał się ze zgłoszonymi w tym dziale błędami i w przypadku ich potwierdzenia, w miarę swoich możliwości będzie reagował na nie.

W temacie ze zgłaszanym błędem, proszę zaznaczyć której wersji programu on dotyczy. W przypadku, gdyby błąd dotyczył nie ostatniej wersji programu, proszę wcześniej sprawdzić, czy błąd nie został już poprawiony w aktualnej wersji oprogramowania

Koszyk nie wysyła zamówienia - problem z js onclick

przez xippon » 2011 wrz 03, So 10:10

1. Opis problemu:

Mając towar w koszyku, po wybraniu formy przesyłki (index.php?d=koszyk&action=zam&forma_przesylki=18)
Uzupełniamy dane i klikamy button "wyślij zamówienie"

2. Problem:

W tym momencie zamówienie nie jest wysyłane

3. Przyczyna:

Przyczyną tego, jest nieprawidłowy kod js dodany w formularzu zamówienia:

Kod: Odnośnik widoczny tylko dla zalogowanych użytkowników - Zarejestruj się
<input class="button" type="submit" value="Wyślij zamówienie" onclick="if(document.form_zamowienie.firma.value == '' && document.form_zamowienie.nip.value == '' && document.form_zamowienie.imie.value == ''){alert('Wpisz imię'); document.form_zamowienie.imie.focus(); return false;}else if(document.form_zamowienie.firma.value == '' && document.form_zamowienie.nip.value == '' && document.form_zamowienie.nazwisko.value == ''){alert('Wpisz nazwisko'); document.form_zamowienie.nazwisko.focus(); return false;}else if(document.form_zamowienie.firma.value != '' && document.form_zamowienie.nip.value == ''){alert('Wpisz numer NIP'); document.form_zamowienie.nip.focus(); return false;}else if(document.form_zamowienie.email.value == ''){alert('Podaj adres email'); document.form_zamowienie.email.focus(); return false;}else if(document.form_zamowienie.ulica.value == ''){alert('Wpisz ulicę'); document.form_zamowienie.ulica.focus(); return false;}else if(document.form_zamowienie.dom.value == ''){alert('Wpisz numer budynku'); document.form_zamowienie.dom.focus(); return false;}else if(document.form_zamowienie.kod_pocztowy.value == ''){alert('Wpisz kod pocztowy'); document.form_zamowienie.kod_pocztowy.focus(); return false;}else if(document.form_zamowienie.miasto.value == ''){alert('Wpisz miejscowość'); document.form_zamowienie.miasto.focus(); return false;}else if(document.form_zamowienie.telefon.value == ''){alert('Wpisz numer telefonu'); document.form_zamowienie.telefon.focus(); return false;}else if(!sprawdzMail(document.form_zamowienie.email.value)){alert('Podany email jest niepoprawny'); return false;}else if(document.form_zamowienie.inny_adres_wysylki.checked){ if(document.form_zamowienie.dostawa_odbiorca.value == ''){alert('Wpisz odbiorcę'); document.form_zamowienie.dostawa_odbiorca.focus(); return false;}else if(document.form_zamowienie.dostawa_ulica.value == ''){alert('Wpisz ulicę'); document.form_zamowienie.dostawa_ulica.focus(); return false;}else if(document.form_zamowienie.dostawa_dom.value == ''){alert('Wpisz numer budynku'); document.form_zamowienie.dostawa_dom.focus(); return false;}else if(document.form_zamowienie.dostawa_kod_pocztowy.value == ''){alert('Wpisz kod pocztowy'); document.form_zamowienie.dostawa_kod_pocztowy.focus(); return false;}else if(document.form_zamowienie.dostawa_miasto.value == ''){alert('Wpisz miejscowość'); document.form_zamowienie.dostawa_miasto.focus(); return false;}else{this.disabled=true;} }else{this.disabled=true;}">


A dokładniej, dwa razy dodany zwrot else{this.disabled=true;} na końcu.

Po usunięciu tego zwrotu (korzystając z Opery i edycji strony online) problem znika.

4. Pytanie:

W jaki sposób można to naprawić na stałe ?
Ingerencja w kod plików odpada, obecnie szukam funkcji, która w locie po stronie klienta zamieniałaby fragment kodu i wycinała niepotrzebny wpis, ale ejst to Syzyfowa praca.
 
Autor tematu
Posty: 3
Dołączył(a): 2011 sie 31, Śr 13:23
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Koszyk nie wysyła zamówienia - problem z js onclick

przez tofif » 2011 wrz 03, So 12:08

z jakiego dnia masz sklep ?
Avatar użytkownika
 
Posty: 1279
Dołączył(a): 2008 kwi 28, Pn 23:03
Lokalizacja: Warszawa
Podziękował : 1 razy
Otrzymał podziękowań: 4 razy

Re: Koszyk nie wysyła zamówienia - problem z js onclick

przez xippon » 2011 wrz 03, So 13:38

Witam,

Wersja sklepu to 3.4 zainstalowana w lipcu tego roku.
 
Autor tematu
Posty: 3
Dołączył(a): 2011 sie 31, Śr 13:23
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Koszyk nie wysyła zamówienia - problem z js onclick

przez tofif » 2011 wrz 03, So 13:46

sproboj pobrac jeszcze raz aktualizacje i zaktualizowac sklep, poniewaz autor robi ciche poprawki nie informujac o tym
Avatar użytkownika
 
Posty: 1279
Dołączył(a): 2008 kwi 28, Pn 23:03
Lokalizacja: Warszawa
Podziękował : 1 razy
Otrzymał podziękowań: 4 razy

Re: Koszyk nie wysyła zamówienia - problem z js onclick

przez xippon » 2011 wrz 03, So 15:20

Napisałem tymczasowe rozwiązanie, które rozwiązuje ten problem.
Poczekam aż autor KQS wyda kolejną większą poprawkę i wtedy dokonam aktualizacji sklepu, aby nie mieszać.

"patch" wstawiamy w szablon graficzny > koszyk > koszyk - baza szablonu (na samym końcu)

Kod: Odnośnik widoczny tylko dla zalogowanych użytkowników - Zarejestruj się
<script type="text/javascript">
    function enableform(formId) {
       var f = document.forms[formId].getElementsByTagName('input');
       for (var i=0;i<f.length;i++)  {
       f[i].disabled=false;
       f[i].onclick='';
      }
    }
enableform('form_zamowienie');
</script>


Co prawda tracimy sprawdzanie czy pola są uzupełnione, ale za to wysyłanie zamówienia działa.
 
Autor tematu
Posty: 3
Dołączył(a): 2011 sie 31, Śr 13:23
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Koszyk nie wysyła zamówienia - problem z js onclick

przez tofif » 2011 wrz 03, So 18:51

no ale z tego co sie orientuje to tylku u Ciebie jest ten blad :) iwc nalezaloby zaktualizowac sklep, a tam nic si enie pomiesza zrob kopie plikow i bazy
Avatar użytkownika
 
Posty: 1279
Dołączył(a): 2008 kwi 28, Pn 23:03
Lokalizacja: Warszawa
Podziękował : 1 razy
Otrzymał podziękowań: 4 razy


Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość
cron