Kom er niet uit (Engels is o.a. het probleem)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

19/06/2013 13:52:41
Quote Anchor link
Hallo allemaal,

Ik wil op mijn site een jQuery gebruiken en wel de Confirm.
Nu heb ik op http://jqueryui.com/dialog/#modal-confirmation de benodigde code gevonden. Maar mijn Engels is duidelijk onvoldoende om deze routine aan te passen naar mijn situatie.

Mijn code is inmiddels:

In de <head>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  
  
    <script>
    $(function() {
        $( "#dialog-confirm" ).dialog({
            resizable: false,
        height:140,
        modal: true,
        buttons: {
            "Verder winkelen": function() {
            $( this ).dialog( "close" );
            },
            "Afrekenen": function() {
            $( this ).dialog( "close" );
            }
        }
        });
        });
    </script>


In mijn <body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<div id="dialog-confirm" title="Wat wilt u nu doen?">
        <p><span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>U kunt kiezen tussen verder winkelen en afrekenen.</p>
    </div>


en bij de knop

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input id="winkelwagen" type="submit" title="<?php echo $cTitle1 ; ?>" onclick="dialog-confirm()" value="<?php echo $cKnoptekst1 ; ?>" />


Op zich lijkt dit allemaal wel goed te gaan,maar:

1. Bij het openen van de pagina komt gelijk al de Confirmbox in beeld. Dat wil ik niet, die moet pas komen als er op de knop wordt gedrukt

2. Bij de actie "Afrekenen" wil ik dat shop_winkelwagen.php wordt aangeroepen.

Omdat dus mijn Engels onvoldoende is vraag ik jullie hulp in deze.


George
 
PHP hulp

PHP hulp

26/11/2024 11:33:58
 
Reshad F

Reshad F

19/06/2013 14:15:08
Quote Anchor link
je roept nu gelijk de functie aan. je moet zeggen roep de functie aan bijv bij een click. dus

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    $('#winkelwagen').on('click',function() {
        $( "#dialog-confirm" ).dialog({
            resizable: false,
        height:140,
        modal: true,
        buttons: {
            "Verder winkelen": function() {
            $( this ).dialog( "close" );
            },
            "Afrekenen": function() {
                var url = "http://google.com";    
                $(location).attr('href',url);
            }
        }
    });
});
 
George van Baasbank

George van Baasbank

19/06/2013 19:02:07
Quote Anchor link
Reshad,

Het lijkt er op dat er in jouw code nog een foutje zit. Het werkt niet naar behoren.
Als ik regel 1 en regel 16 weghaal, werkt de jQuery wel maar zonder dee regelskomt de confirmbox direct na het aanroepen van de pagina.
Het doorlinken naar een volgende pagina werkt nu goed.

Wil je nog eens kijken voor mij?


P.S.: Waarom heb je het id #winkelwagen daar gebruikt op regel 1??


George
Gewijzigd op 19/06/2013 19:06:46 door George van Baasbank
 
Reshad F

Reshad F

19/06/2013 20:49:30
Quote Anchor link
De #winkelwagen heb ik even bedacht maar dat moet dus de id worden van de knop waar je op gaat drukken. Bij een click op die button wordt het script verder uitgevoerd.

Ik denk dat het voorkomen kan worden door er een preventDefault in te zetten..

probeer dit is

http://jsfiddle.net/88mvP/
 
Kris Peeters

Kris Peeters

20/06/2013 09:21:07
Quote Anchor link
Reshad F op 19/06/2013 20:49:30:
...Ik denk dat het voorkomen kan worden door er een preventDefault in te zetten..


Ja, klopt.

Trouwens, je kan ook van die knop een <input id="winkelwagen" type="button"> maken; dan zal het sowieso niet submitten.
 
George van Baasbank

George van Baasbank

20/06/2013 10:51:11
Quote Anchor link
Reshad en Kris,

Even op de jsfiddle-pagina gekeken. Zie ook hier dat bij de eerste keer aanroepen van de pagina de tekst "U kunt kiezen tussen verder winkelen en afrekenen." al op het scherm staat. Dat is op mijn site ook.

De Confirm-box wordt op mijn site niet getoond etrwijl dit wel het geval is bij jouw voorbeeld.

Voor een indruk: ga naar: http://jqz.vanbaasbank.nl/shop_index.php en klik op een knop "In winkelwagen"
Gewijzigd op 20/06/2013 10:52:03 door George van Baasbank
 
George van Baasbank

George van Baasbank

23/06/2013 11:54:51
Quote Anchor link
Ik krijg deze simpele functie NIET werkend. Ik heb de eerste regel van de suggestie van Reshad op diverse manieren geprobeerd maar nu is het zo dat het popup helemaal niet meer komt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script>
        $('#winkelwagen').on('click',function() {
            $( "#dialog-confirm" ).dialog({
                resizable: false,
                height:140,
                modal: true,
                buttons: {
                    "Verder winkelen": function() {
                        $( this ).dialog( "close" );
                    },
                    "Afronden": function() {
                        var url = "shop_winkelwagen.php";    
                        $(location).attr('href',url);
                    }
                }
            });
        
        });
</script>


Ik krijg het gevoel dat de oorzaak ergens anders aan moet liggen want bovenstaande code werkt op de site van Reshad wel
 
Nick Dijkstra

Nick Dijkstra

23/06/2013 12:08:33
Quote Anchor link
Bij mij werkt het gewoon? Alleen krijg ik ook de popup als ik nog nergens op heb geklikt.
 
Erwin H

Erwin H

23/06/2013 12:11:45
Quote Anchor link
Basiskennis HTML: een id mag je maar 1 keer op een pagina gebruiken. Je kan dus niet 3x het id 'winkelwagen' aan een knop hangen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.