Pole wymagane, po zaznaczeniu innego pola wymaganego

Macek

Avatar: Macek

2008-03-01 22:43

witam.

Modyfikując sklep, po przeczytaniu forum stworzyłem nowe pole formularza zamówienia.
A, mianowicie dodałem pole NIP (po Firma)- które to pole nie jest wymagane.
Jak wymusić, żeby po podaniu Firmy kupujący musiał podać nip- inaczej, żeby formularz nie pozwolił dokonać zamówienia jeżeli ktoś poda Firmę, a nie poda NIPu.

Z góry dziękuję za następną pomoc.

pozdrawiam Macek

» Quick.Cart v2.x

treewood (OpenSolution)

Avatar: treewood

2008-03-03 08:50

Macek - musialbys pobawic sie troche w Java Script. Podaj adres by sprawdzic jak skrypt wyglada i postaram Ci sie cos zaproponowac.

Macek

Avatar: Macek

2008-03-03 10:44

Oto link:
http://saints.pl/~macek/domus/sklep/index.php?p=ordersDelivery

Nie mogę sobie poradzić jeszcze z pl znakami w szczegółach zamówienia, pisze mi "ó", a nie pisze np. "Ź", why?

treewood (OpenSolution)

Avatar: treewood

2008-03-03 11:45

Macek - edytuj config/general.php i dodaj w drugiej linii to:
setlocale( LC_CTYPE, 'pl_PL' );
powinno pomoc. prosze tez nie pisac w 1 temacie 2 roznych spraw. takie tu panuja zasady.

1. Edytuj templates/orders_delivery.tpl i zmien:
return checkForm( this, aCheckFormDelivery );
na
return checkOrder( this, aCheckFormDelivery );

2. Dodaj nastepnie do tego pliku zaraz nad: <form action="?p=ordersDelivery"

<script type="text/javascript">
function 
checkOrderdatafields ){
  if( 
data.sCompanyName.value != '' && data.sNip.value == '' ){
    
alert'Podaj NIP' );
    
data.sNip.focus( );
    return 
false;
  }
  else{
    return 
checkFormdatafields );
  }
}
</script>


przyznam, ze robilem to z palca bez testowania. dziala?

Macek

Avatar: Macek

2008-03-03 13:16

Działa super- sprawdzone.
To idąc za ciosem, jak wprowadzić ograniczenie na NIP: 10 znaków i tylko liczby.
Dałem w orders_delivery.tpl:
"
<tr>
<th>
$lang[Nip]:
</th>
<td>
<input type="number" name="sNip" value="$aData[sNip]" class="input" maxlength="10" onblur="saveUserData( this.name, this.value )" />
</td>
</tr>
"
Ale nie wiem czy to wystarczy do ograniczenia, wymuszenia pola Nip do 10 znaków i tylko liczby. Chodzi o to żeby ktoś podał za mało lub za dużo cyfr to żeby go formularz nie puścił.
Jak również jak ktoś poda litery żeby go również nie puścił- sorry za niby 2 tematy znowu razem ale wydaje mi się, że są one bardzo powiązane ze sobą.

Na pewno nie wystarczy to co wkleiłem bo nie działa, a nie wiem jak sobie z tym poradzić.
Czy jeszcze coś innego muszę zrobić

Dzieki z góry za odp.

pozdrawiam Macek

treewood (OpenSolution)

Avatar: treewood

2008-03-03 13:20

Macek - ja bym sie tak tym nie przejmowal. Przeciez jak ktos sklada zamowienie i podaje firme i nip to wiadomo, ze w polu nip nie wpisze "asdasdasd" a jesli wpisze to chyba wiesz potem jak takiego klienta masz traktowac...

Macek

Avatar: Macek

2008-03-03 13:23

Kurcze teraz sprawdziłem nie działa to co chciałem jak podawałeś treewood.
Niby wszystko działa, ale jak nie wpisuje firmy ani nipu to formularz nie puszcza mnie i pisze:
"Wypełnij WSZYSTKIE wymagane pola poprawnie"
Reszta pól wypełniona.

treewood (OpenSolution)

Avatar: treewood

2008-03-03 14:51

Macek - to juz sprawdza PHP. zmieniales cos w PHP w funkcji checkFields w core/orders.php ?

Macek

Avatar: Macek

2008-03-03 18:57

ok moja wina- przyznaję się do błędu- zamieszałem w orders.php i tam wpisałem w funkcji checkField NIP i Firma.

Dzięki wielkie.
Ale przyznam szczerze, że sklep ma dużo do zaoferowania jak i Wy- jego twórcy.

pozdrawiam serdecznie i jeszcze raz dzięki.

Macek

Do góry
o nas | kontakt