howto: onclick variabel veranderen in een functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

Full Stack Developer Industriële Automatiseri

Raster wordt continu betrokken bij complexe en baanbrekende projecten in industriële automatisering. Ons team is gespecialiseerd in productie automatisering en proces automatisering projecten waarin procesveiligheid een belangrijk aspect is. Ons compact en groeiend OX (Operational Excellence) team ontwikkelt, configureert en levert support op zelfontwikkelde applicaties waarmee onze klanten hun productieprocessen slimmer, sneller, goedkoper en veiliger maken. Operational Excellence wordt zichtbaar gemaakt in resultaten. Bij bedrijven met dezelfde strategie, zal een operationeel excellent bedrijf een lager operationeel risico, lagere operationele kosten hebben en relatief meer winst maken. Het Raster OX team laat haar klanten de resultaten behalen door hun eigen procesdata

Bekijk vacature »

Eddy B

Eddy B

12/12/2011 23:06:06
Quote Anchor link
Ik zit met het volgende probleem:

Ik wil onclick de waarde van een variabel veranderen, maar.. die variabel staat in een functie.

Dus bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<script>
function () {
    var value = 'eerste';
    // acties
}
</script>

<a href="#" onclick="value='tweede'"></a>


Nou had ik het een en ander gelezen over een setter maar dat ging volgens mij niet omdat ik dan een object moet aanmaken.

Dus eigenlijk.. heb ik geen flauw idee hoe het moet, doe mij maar PHP.. hopelijk hebben we wat Javascript experts op het forum.
Gewijzigd op 12/12/2011 23:07:34 door Eddy B
 
PHP hulp

PHP hulp

23/10/2021 07:51:53
 
Fabian M

Fabian M

13/12/2011 07:51:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<script>
function mijnFunctie() {
    // acties
}
mijnFunctie.value = 'eerste';

</script>

<a href="#" onclick="mijnFunctie.value='tweede'"></a>


Je kunt dit proberen.
 
Jelle -

Jelle -

13/12/2011 08:39:02
Quote Anchor link
Volgens mij kan het volgende ook, gewoon de variabele buiten de functie zetten (maakt js volgens mij allemaal geen drol uit).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<script>
var value = 'eerste';
function () {
    alert(value);
    // acties
}
</script>

<a href="#" onclick="value='tweede'"></a>
 
Victor -

Victor -

13/12/2011 09:09:00
Quote Anchor link
Als je de variabele buiten de functie zet. moet je 'var' weghalen, als je 'var' namelijk weghaalt maak je de variabele global
 
Eddy B

Eddy B

13/12/2011 19:33:42
Quote Anchor link
Ik ben er even mee bezig geweest en helaas lukt het me nog niet helemaal, ik zal even beschrijven wat de bedoeling is.

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
<script>
function headline_click() {
    if (value !== "last") {
        dyntitle.innerHTML = '#'+value;
        document.getElementById('shout_input').value = value;
        var refreshId = setInterval(function() {
        $("#responsecontainer").load('last_shouts.php?page='+value);}, 2000);
        $.ajaxSetup({ cache: false });
    }
}
</script>
</head>
<body onLoad="headline_click('last');">
<div id="main_container">
    <div id="headlines_container">
        <h1>headlines</h1>
        <img src="head_images/000001.png" id="img1" class="captify" rel="caption1" onClick="headline_click('SteveJobs')">
        <div id="caption1" style="display:none;">Steve Jobs</div>


Dat is het gedeelte waar het om gaat.

De bedoeling is dat Onclick de variabel value wordt veranderd en er dus een andere pagina word geladen.

Ik hoop dat jullie het een beetje begrijpen, want ik vind het uitleggen erg moeilijk.

De fout is trouwens: onclick maakt 'ie de functie opnieuw aan, dus begint javascript de twee pagina's door elkaar heen te laden.
 
Wolf Wolf

Wolf Wolf

26/12/2011 23:10:39
Quote Anchor link
Ik ben geen javascript-ster dus corrigeer me al is ik het fout heb. Je geeft aan dat je op OnClick een andere pagina wilt laden.

Simpel:
- Zo min mogelijk javascript gebruiken*
- Wat is er mis met een link op de img d.m.v. de anchortag en vervolgens laten afhandelen/bijhouden door php?

*Je roept nu clientside toch een volgende pagina serverside aan (last_shouts.php?page=denieuwevalue)
 
Wouter J

Wouter J

26/12/2011 23:28:30
Quote Anchor link
Had dit topic helemaal niet opgemerkt.

@wolf, ja maar dit is zonder refresh met PHP is het altijd met een refresh. En zo min mogelijk JS gebruiken vind ik onzin, maar misschien komt dat ook omdat ik een JS fan ben :)

@eddy, je gebruikt jQuery, dus waarom niet de hele functie in jQuery? Daarnaast heb ik even setInterval weggehaald, dit kan tot niet hele fijne dingen leiden in combinatie met AJAX.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
function headline_click() {
    if (value !== "last") {
        dyntitle.innerHTML = '#'+value;
        $('#shout_input').val(value);
        var refreshId = function() {
            $("#responsecontainer").load('last_shouts.php?page='+value);
        setTimeout(refreshId, 2000);
    ;
        $.ajaxSetup({ cache: false });
    }
}

Nu ik de code schrijf ontdek ik dat er niet heel veel meer jQuery kan gebruiken, of je moet moeilijk gaan doen met jQuery events.

En ik begrijp je probleem niet helemaal. Kun je misschien eens je JS code + wat HTML voorbeeldjes op http://tinkerbin.com zetten en de url delen met ons. Dan kijk ik wel of ik er wat van kan maken.
 



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.