Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Dane alfanumeryczne, Jak zmienić z numerycznych?
tajfo
post 18.09.2008, 13:56:15
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


Witam, mam problem z moim skryptem. Jestem początkujący więc proszę o cierpliwość. Przy wypełnianiu formularza na stronie internetowej mam podać cenę. Wartość w tym polu musi być wyrażona cyframi dodatnimi a ja chce żeby można było wpisać tam znak "-" niedostępny.

W kodzie to wygląda tak:
Kod
if( isNaN(frm.sb_price.value) || frm.sb_price.value<=0)
{
  alert('Określ cenę cyframi dodatnimi');
  frm.sb_price.focus();
  frm.sb_price.select();
  return(false);

Kod
if ( !is_numeric($sb_price) || ($sb_price <= 0) )
  {
   $errs[$errcnt]="Cena musi być wyrażona cyframi dodatnimi";
   $errcnt++;
  }

Co trzeba zmienić żeby można było wstawić znak "-" ?

Ten post edytował tajfo 18.09.2008, 14:52:36
Go to the top of the page
+Quote Post
golaod
post 18.09.2008, 14:10:10
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Po pierwsze zły przedrostek. [JS] a nie [PHP].
Po drugie
Kod
<input type="text" id="truli"/>
<input type="button" value="ops" onClick="if(!isNaN(document.getElementById('truli').value)){alert('JEST')}" />

Działa mi dla liczby -24.24 zatem gdzie ty widzisz problem ?
Go to the top of the page
+Quote Post
Sławo
post 18.09.2008, 14:28:19
Post #3





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 10.03.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat
Wartość w tym polu musi być wyrażona cyframi dodatnimi a ja chce żeby można było wpisać tam znak "-" niedostępny.


A nie lepiej zrobić w tym przypadku pole nieaktywne??


Cytat
Działa mi dla liczby -24.24 zatem gdzie ty widzisz problem ?


Ale nie powinno.

Ten post edytował Sławo 18.09.2008, 14:28:41


--------------------
zmoderowano
Go to the top of the page
+Quote Post
tajfo
post 18.09.2008, 14:30:45
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


Cytat(Sławo @ 18.09.2008, 15:28:19 ) *
A nie lepiej zrobić w tym przypadku pole nieaktywne??

Jeśli by mi to wystarczyło to bym nie pytał. Mam kilka takich pól gdzie chcę żeby oprócz wartości cyfrowej można było wpisać znak "-".
Go to the top of the page
+Quote Post
golaod
post 18.09.2008, 14:35:54
Post #5





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Możesz mi wyjaśnić czemu nie powinno mi to działać ?
Go to the top of the page
+Quote Post
tajfo
post 18.09.2008, 14:50:27
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


To jak to będzie?
W skrypcie w polu gdzie wpisuje się wartość cyfrową jest kod
Kod
<input name="sb_price" type="text" id="sb_price" value="<?php echo $sb_price;  ?>" size="5" maxlength="30">

Co trzeba dodać/zmienić żeby można było wpisać "-"
Go to the top of the page
+Quote Post
golaod
post 18.09.2008, 15:17:20
Post #7





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nic nie trzeba zmienić. Odpowiedz na pytanie gdzie masz sprawdzaną wartość liczbową czy w js czy php bo widziałem skrypty do obu.
Poza tym zauważyłem if ( !is_numeric($sb_price) || ($sb_price <= 0) ) co oznacza, że nie możesz mieć liczby mniejszej niż zero!

Ten post edytował golaod 18.09.2008, 15:18:24
Go to the top of the page
+Quote Post
tajfo
post 18.09.2008, 15:47:07
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


Cytat(golaod @ 18.09.2008, 16:17:20 ) *
Nic nie trzeba zmienić. Odpowiedz na pytanie gdzie masz sprawdzaną wartość liczbową czy w js czy php bo widziałem skrypty do obu.

W js bo błąd pojawia się w formie okienka windowsa ale kody są oba w skrypcie.

Cytat(golaod @ 18.09.2008, 16:17:20 ) *
Poza tym zauważyłem if ( !is_numeric($sb_price) || ($sb_price <= 0) ) co oznacza, że nie możesz mieć liczby mniejszej niż zero!


To wiem, tyle, że ja chce mieć możliwość wstawienia tam zamiast liczby także znaku "-" wtedy obok ceny produktu w sklepie będe miał znak "-" czyli niedostępna bo jaką cene wpisze jeśli nie znam ceny w danym momencie? I tylko o to chodzi bo mój skrypt nie daje takiej możliwości.

Nie wiem czy nie trzeba czasami napisać tego kawałka kodu w inny sposób bo z tego co widze to skrypt sprawdza czy wartość jest numeryczna dodatnia czy nie i na tym koniec dry.gif

Ten post edytował tajfo 18.09.2008, 15:47:54
Go to the top of the page
+Quote Post
sowiq
post 18.09.2008, 18:06:51
Post #9





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A nie wystarczy Ci dopisanie jednego, głupiego warunku, który załatwiałby wszystko?

  1. <?php
  2. if ( $sb_price != '-' && (!is_numeric($sb_price) || $sb_price <= 0) ){
  3.    $errs[$errcnt]="Cena musi być wyrażona cyframi dodatnimi";
  4.    $errcnt++;
  5. }
  6. ?>


Kod
  if( frm.sb_price.value != '-' && (isNaN(frm.sb_price.value) || frm.sb_price.value<=0))
{
  alert('Określ cenę cyframi dodatnimi');
  frm.sb_price.focus();
  frm.sb_price.select();
  return(false);



PS. Jakbyś w pierwszym poście od razu logicznie napisał o co Ci chodzi, od razu dostałbyś odpowiedź.

Ten post edytował sowiq 18.09.2008, 18:08:18
Go to the top of the page
+Quote Post
tajfo
post 18.09.2008, 22:25:50
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


Hmm no nie bardzo to chce działać. Jak dodam ten kod to inny element nie działa na tej stronie: dodawanie kategorii więc jest jeszcze gorzej bo wogóle nie mogę przejść procedury dodawania produktu.
Go to the top of the page
+Quote Post
sowiq
post 19.09.2008, 00:32:50
Post #11





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ja Ci pokazałem jak poprawić WKLEJONY KAWAŁEK KODU. Nie wiem co ma piernik do wiatraka, że Ci nie działa dodawanie kategorii. Musisz mieć gdzie indziej błąd.
Go to the top of the page
+Quote Post
tajfo
post 6.10.2008, 19:55:19
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 18.09.2008

Ostrzeżenie: (0%)
-----


OK, dzięki wszystko śmiga tylko po wypełnieniu, kiedy chce zapisać dane czyli wysłać ofertę to wyskakuje błąd, że nie można zamieścić oferty czyli nie zapisuje do bazy danych?
Da się to zapisać jakoś inaczej w kodzie?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.07.2025 - 19:58