Variable doorgeven aan JS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paco de Wulp

Paco de Wulp

16/07/2015 20:57:56
Quote Anchor link
Hoe kan ik nu i.p.v. FORD een PHP-variabel daar doorgeven? Ik kom er maar niet uit !

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$selected
= '<input type=submit class=content onclick=window.location="AUT600P.php?id=FORD" name=Refresh value=Refresh>';
?>
Gewijzigd op 16/07/2015 21:00:39 door Paco de Wulp
 
PHP hulp

PHP hulp

22/10/2020 05:14:50
 
- Ariën -
Beheerder

- Ariën -

16/07/2015 21:28:33
Quote Anchor link
Gewoon even kijken wat voor quotes er gebruikt worden om de echo meer te beginnen en eindigen, en die er tussenin plaatsen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$merk
= "Ford";
$selected = '<input type=submit class=content onclick=window.location="AUT600P.php?id='.$merk.'" name=Refresh value=Refresh>';
?>
 
Paco de Wulp

Paco de Wulp

16/07/2015 21:42:32
Quote Anchor link
Oh ja.
Thx
 
Thomas van den Heuvel

Thomas van den Heuvel

17/07/2015 09:54:20
Quote Anchor link
Een aantal mogelijke verbeterpunten:
- gebruik ofwel een id (?id=6) of een clean URL (auto/merk/Ford) of een combinatie (bijvoorbeeld auto/merk/6/Ford)
Het voordeel van een id is dat deze doorgaans niet verandert, als je op een gegeven moment besluit dat je FORD wilt hernoemen naar Ford of wat dan ook, dan moet je mogelijk code aanpassen. Bij het ontwerpen van dit soort dingen is het handig dat je rekening houdt met dit soort mogelijke wijzigingen zodat je een beetje "defensief programmeert".

- zorg (op zijn minst) dat je HTML klopt. Om waarden van attributen horen "dubbele quotes" te staan
Haal je pagina eens door een validator, of installeer een plugin die je broncode controleert.

- zorg dat je de juiste HTML gebruikt; Je heb hier effectief een soort van hyperlink gemaakt. Waarom gebruik je dan geen hyperlink? Deze valt prima als knop te stijlen hoor. Dit lijkt mij om meerdere redenen beter dan zo'n onclick-constructie. De combinatie van een een input veld van het type submit (wat impliceert dat je informatie via een form submit) in combinatie met een onclick="window.location = ..." (wat je handmatig doorstuurt) is ook onzinnig.

- iets waar je ook rekening mee moet houden: je stopt de waarde van een variabele in een URL; zolang hier enkel "normale" alfanumerieke waarden in zitten is er niet zoveel aan de hand, maar omdat deze variabele niet op voorhand vaststaat is het wellicht verstandiger om deze te escapen zodat dit nooit voor problemen zorgt.

En tot slot, iets wat ik nooit heb begrepen: echo enkel de dynamische delen; er is geen enkele toegevoegde waarde om een statische lap HTML te echo'en.

Ik zou er dus het volgende van maken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a class="content" href="AUT600P.php?id=<?php echo urlencode($merk) ?>" title="Refresh">Refresh</a>


Tenzij je informatie wilt doorsturen via een formulier, maar dat kon ik niet uit jouw vraagstelling opmaken.

EDIT: je oorspronkelijke topic luidt Variable doorgeven aan JS. Wat je vraagt is volgens mij iets compleet anders, of ik begrijp niet wat je nu eigenlijk probeert te bereiken.
Gewijzigd op 17/07/2015 09:57:07 door Thomas van den Heuvel
 
Paco de Wulp

Paco de Wulp

17/07/2015 12:46:06
Quote Anchor link
Mensen ik ben ook zo simpel ! Ik probeerde dus het volgende te doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<?php
    // Even intialiseren anders knalt ie eruit.
    $sel_merk = 'FORD';
?>

<body>    
    <input type=text size=15 maxlength=15 name=sel_merk  value="<?php echo $sel_merk ; ?>" >
    
    <input type=button onclick=window.location="AUT600P.php?id=<?php echo $sel_merk ; ?>"  name=Refresh value=Refresh>

</body>
</html>


Nu dacht ik dat ik het input veld $sel_merk direct mee kon geven aan de onclick-JS-functie. :-)
Dat kan dus niet !

Maar hoe kan ik dat wel doen. Waarschijnlijk moet ik iets doen met JS om het inputveld direct door te geven aan die onclick-JS-functie. Maar hoe ?
Gewijzigd op 17/07/2015 12:57:41 door Paco de Wulp
 
Thomas van den Heuvel

Thomas van den Heuvel

17/07/2015 13:35:06
Quote Anchor link
Heb je mijn vorige reactie (uberhaupt) gelezen?

Zoals ik het begrijp heb je helemaal geen onclick nodig.

EDIT: er klopt nog geen biet van je quotes, dat is waarschijnlijk de reden dat er niets werkt.

Als je dan toch per se onclick wilt gebruiken, zul je er op zijn minst zoiets van moeten maken, al is de constructie compleet onzinnig:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="button" onclick="window.location='whatever.php?lala=<?php echo urlencode('yadda') ?>'" value="brol" />
Gewijzigd op 17/07/2015 13:40:52 door Thomas van den Heuvel
 
Eddy E

Eddy E

17/07/2015 16:05:16
Quote Anchor link
Ik ga Thomas even herhalen: waarom niet gewoon een link, dus een <a href...>?
Als dat gedoe met input die niets doet, Javascript die niet nodig is en veel meer moeilijkheid dan nodig.

Daarnaast is "Refresh" geen goede omschrijving van je link (danwel input): ik neem aan dat je namelijk niet al op die pagina van AUT600P.php?id=FORD zit..
 
Paco de Wulp

Paco de Wulp

17/07/2015 21:00:20
Quote Anchor link
Dank heren. Ik zit inderdaad op een verkeerd spoor. Ik moet het anders oplossen.

N.B. Ik heb een aantal opvraag-programma's waar ik lijstjes toon. Die lijstjes worden zo langzamerhand te groot (omdat de DB groeit) en worden dus onoverzichtelijk. Daarom wil ik een selectie kunnen maken. Daarom die Refresh/Herlaad van het lijstje.
Gewijzigd op 17/07/2015 21:02:01 door Paco de Wulp
 



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.