Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [W3C] Walidacja i JS w form.
ones
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 13.07.2009

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


Nie wiedziałem za bardzo gdzie to zamieścić..
Mianowicie mam kod:
  1. <form onsubmit="if(document.searchform.txtSearch.value=='<?=$search_box_text?>'){alert('<?=$lang['59'];?>');return false;}if(document.searchform.txtSearch.value.length < 2){alert('<?=$lang['60'];?>');return false;}" method="get" action="<?=WEB_PATH;?>searchSuggest.php">

I jest problem z walidacją:
character "<" is the first character of a delimiter but occurred as data
…ent.searchform.txtSearch.value.length < 2){alert('Upewnij się, że wpisałeś wię…


Czego to może być przyczyna? No inaczej tego nie zapisze w tym kodzie.. Nie jest to błąd a error, lecz chciałbym mieć czysto..
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zrób normalną funkcję i zbindują ją do formularza zamiast umieszczać ten skrypt inline.
Go to the top of the page
+Quote Post
ones
post
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 13.07.2009

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


Nigdy czegoś takiego nie robiłem. Może jakaś mała pomoc gdzie mogę poczytać o tym ?
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


"dodawanie zdarzeń w JS" w google
"add event in js" w google

i getElementById
Go to the top of the page
+Quote Post
ones
post
Post #5





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 13.07.2009

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


Wszystko pięknie i fajnie ale gdy dodaję do js kod i sprawdzam w inpucie submit to i tak przechodzi dalej mimo return false oraz mimo informacji.
Oto kod
Kod
            <script type="text/javascript">
        function addEvent(obj, type, fn) {
            if (obj.addEventListener) {
                obj.addEventListener(type, fn, false);
            } else if (obj.attachEvent) {
                obj["e"+type+fn] = fn;
                obj[type+fn] = function() {obj["e"+type+fn](window.event); }
                obj.attachEvent("on"+type, obj[type+fn]);
            }
        }
    
        function eventHander(e) {    
            if(document.searchform.txtSearch.value=='<?=$search_box_text?>') {
        alert('<?=$lang['59'];?>');
        return false;
        }
        if(document.searchform.txtSearch.value.length < 2) {
        alert('<?=$lang['60'];?>');
        return false;
        }
        }
        
        function startMagic() {
            addEvent(document.getElementById("sprawdz"), "click", eventHander);
        }
        
        addEvent(window, "load", startMagic);
    </script>


Umieszczam to w przycisku submit.

Okey zamiast return false użyłem:
(e.preventDefault) ? e.preventDefault() : (e.returnValue = false);

Wszystko działa dobrze! Dzięki!

No tak znów nie tak.. Umieszczająć w skrypcie <![CDATA[ i zakończenie nie uruchamia go mhm. A jest to potrzebne aby dobrze zvalidować javascript..
Go to the top of the page
+Quote Post
kamil4u
post
Post #6





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Wykorzystaj zdarzenie (on)submit... tak jak wcześniej, a nie onclick.

Utwórz plik *.JS i dołącz go poprzez:
  1. <script type="text/javascript" src="code.js"></script>


A jak nie to napisz, której wersji (x)HTML używasz. I jeszcze poszukaj w google: "<![CDATA[ validator [nazwa (x)HTML]"
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 16.09.2025 - 00:35