Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [W3C] Walidacja i JS w form.
Forum PHP.pl > Forum > Po stronie przeglądarki
ones
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..
erix
Zrób normalną funkcję i zbindują ją do formularza zamiast umieszczać ten skrypt inline.
ones
Nigdy czegoś takiego nie robiłem. Może jakaś mała pomoc gdzie mogę poczytać o tym ?
kamil4u
"dodawanie zdarzeń w JS" w google
"add event in js" w google

i getElementById
ones
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..
kamil4u
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]"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.