Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] problem z onclick pod IE6
Forum PHP.pl > Forum > Przedszkole
Zyryx
Witam,

mam problem ze zdarzeniem onclick pod "wspaniałym" IE6 winksmiley.jpg (pod Operą i Firefoexem działa jak należy). Po kliknięciu wyświetla się okienko js confirm(), które pyta się czy napewno usunąć wybrane artykuły. No i po kliknięciu anuluj powinno zatrzymać wykonywanie forumlarza, i tak działa właśnie pod Operą i Firefoxem. Niestety pod IE6 forumlarz zostaje wysłany :/.

Tak wygląda ten przycisk:
Kod
<input type="submit" name="todo" value="Usuń zaznaczony" onclick="return confirm_del_item();" />


A tak kod js:

Kod
<script type="text/javascript">
<!-- <![CDATA[
    function confirm_del_item()
    {
        var c = confirm('Czy jesteś pewien, że chcesz usunąć wybrane artykuły?');
        
        if (c == true) {
            return true;
        } else {
            return false;
        }
    }
// ]]> -->
</script>

Ktoś ma jakiś pomysł co zrobić, żeby to zaczęło działać pod IE6??
drPayton
Przede wszystkim przesadnie rozbudowana funkcja
  1. <script type="text/javascript">
  2. <!-- <![CDATA[
  3. function confirm_del_item()
  4. {
  5. return confirm('Czy jesteś pewien, że chcesz usunąć wybrane artykuły?');
  6. }
  7. // ]]> -->

wystarczy. A może i pomoże od razu? A jeśli nie to możesz wywołanie tej funkcji przenieść z submita do zdarzenia onsubmit formularza.
Zyryx
Niestety nie pomogło. Nie mogę też dać tego do zdarzenia onsubmit, ponieważ przy tym formularzu mam jeszcze trzy inne przyciski, które już nie mają wyświetlać potwierdzenia.
kossa
jeżeli używasz return to musisz wywołać funkcję w <form onsubmit...> a nie w przycisku submit i twedy zostanie poprawnie zinterpretowana odpowiedź true lub false przez formularz a nie przez button submit które musisz przekazać do formularza z funkcji

Łukasz
Zyryx
obszedłem ten problem trochę w inny sposób biggrin.gif, podpatrzyłem cms joomla bo tam to działa (i to mnie trochę zastanowiło). Zrobiłem takie coś:

tak wygląda teraz button:
Kod
<button onclick="confirm_del_checked();">Usuń zaznaczone</button>


a tak kod js:
Kod
function $(id) {
    return document.getElementById(id);
}

function confirm_del_checked() {
    if (confirm('Czy jesteś pewien, że chcesz usunąć wybrane artykuły?')) {
        $('subpages_list').todo.value = 'remove';
        $('subpages_list').submit();
    }
}


Utworzyłem też w formularzu dodatkowe pole hidden i jemu przypisuje wybraną akcje w zależności od klikniętego buttona. Teraz ładnie śmiga smile.gif
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.