Geechode waarde in javascript met aanhalingstekens wil geen getal zijn.

Status
Niet open voor verdere reacties.

JohanDerks

Verenigingslid
Lid geworden
2 dec 2006
Berichten
82
Het uitprinten van de vanuit A naar C geposte variabelen levert onder andere op: lingvoLZ 6
De functie “kalkulu”, vanuit een included javascript, berekent de waarde van Eurlingvo in twee stappen, eest een telling (die kennelijk 15 oplevert) en dan de instructie
Code:
Eurlingvo += "<?php echo $_POST['lingvoLZ']; ?>";
Resultaat: 15<?php echo $_POST['lingvoLZ']; ?>

Als ik de aanhalingstekens achter Eurolingvo += weghaal, dan levert dat echter een fout op, als de included javascript bij programma C ingeschakeld wordt. Kennelijk zijn die noodzakelijk.
M.a.w.: hoe krijg ik "<?php echo $_POST['lingvoLZ']; ?>" weergegeven als getal?
 
Laatst bewerkt:
Wat zijn A, B en C?
En wat is Kalkulu?

Ik snap dat je vast houdt aan de Esperanto, maar dat is niet onze taal. Gelieve het voor ons te vertalen a.u.b, of toch knopen door te hakken om je script Engelse/Nederlandse uitleg en benamingen te geven.

Dan zal de hulp wat makkelijker zijn.
 
A is een programma, net als B en C.
Ik houd vast aan een enkele eigennaam, zoals elke functie een eigennaam heeft en die helemaal niet vertaald hoeft te worden. Er staat nota bene 'De functie "Kalkulu"'. Is dat nog niet duidelijk?
Als ik mijnheer Giga zeg, moet dan Giga vertaald worden? Je moet het niet te gek maken. Dit is een heksenjacht.
 
Is geen heksenjacht....

Als ik iemand wil helpen verwacht ik enige duidelijkheid in een script met een taal die ik beheers. Misschien is Kalkula wel een heel verkeerde naam voor wat je script doet, en kan ik er geen feedback over geven.

Verdiep je anders eens in 'PHP The right way'.

Verder snap ik je probleem eigenlijk niet, want je stelt je vraag gewoon in het Nederlands. Dus waarom niet in in je script?
 
Laatst bewerkt:
die nickname heb je niet voor niets gekozen lees ik zo.....
 
Ik verzoek je de discussie tre stoppen.
Over je discriminatie heb ik een formele klacht ingediend.
Door deze smaadmail te versturen, maak je het inderdaad onwaarschijnlijker dat er mensen op mijn vraag antwoorden.
"kalkulu" is een prima naam voor wat mijn script doet, zelfs beter dan een willekeurige naam.
Ik verzoek je uit hoofde van je functie bij Helpmij de smaadmail te verwijderen, zodat mijn vraag een eerlijke kans krijgt.
 
vrijwilligers hier (lees hobbyisten) hebben geen "functie" bij Helpmij, maar zijn voornamelijk liefhebber van de materie waar ze anderen bij helpen.
 
Ik weet niet wat kalkulu doet, dus ik kan niet over oordelen. Voor mij klinkt het willekeurig... Is het een integer, een string wat het returned. Met iets als numberCars() is het voor mij duidelijk dat het een aantal als integer teruggeeft. En met uploadName() is duidelijk dat dit een string teruggeeft. Kalkulu zegt mij niks.

Enkele maanden geleden hebben al meerdere mensen al laten weten dat je het onduidelijk voor hun maakt, Waarom valt het kwartje niet dat je je aanpast aan de community?
 
Laatst bewerkt:
Ik moet mijn Nederlands corrigeren: A, B en C zijn geen "programma's", maar formulieren.
 
Okee, dan rest nog steeds mijn vraag wat Kalkulo doet, en hoe ik de uitvoer moet interpreteren.

Ook raad ik aan om je vraagstelling in kleinere partjes te delen met duidelijke uitleg. Dat maakt het voor ons makkelijker.

Ik heb je vraag al enkele keren doorgelezen en ik heb een vermoeden dat je PHP in een Javascript bestand gebruikt, klopt dat?
 
Laatst bewerkt:
Natuurlijk. Is "<?php echo $_POST['lingvoLZ']; ?>" geen PHP en hoort een functie niet alleen thuis in javascript?
"Kalkulu" berekent (Daarvoor hoef je geen Esperanto te kennen. Zelfs Engels volstaat: calculate)
Wat niet duidelijk is (en waardoor een aantal mensen over mij heen vallen, omdat ze te lam zijn om hoofdzaken van bijzaken te onderscheiden) is, dat ik in plaats van 15<?php echo $_POST['lingvoLZ']; ?> de uitkomst van "15 + een ander getal" verwachtten. Dat volgt overigens logisch uit het beschreven gegeven, dat de inhoudprint lingvoLZ 6 geeft.
Ik was dus wel volledig, maar wat te beknopt (om jullie niet met veel tekst en moeilijke woorden lastig te vallen).
 
De bedoeling is dus om in PHP iets uitrekenen en die vervolgens Javascript te gebruiken? Klopt dat?

In dat geval kan je gewoon eerst de berekening in je PHP-script kunt uitvoeren en die in een Javascript variabel opslaan. Dan kan je die variabelen weer gebruiken in je aparte js-bestand.

Je moet overigens wel de flow weten wat Javascript en PHP is en wanneer en waar en door wat die worden uitgevoerd. Je kan er namelijk niet altijd even makkelijk mee samenwerken.
 
Mega Senior SjonR,
Ik wil alleen geholpen worden door in een eerlijke discussie opgevoede mensen.
Daar hoort niet bij, dat je als antwoord op een meneer vraagsteller in de derde persoon over hem spreekt.
Kennelijk richt je je tot je medestanders en suggereer je, dat dat de grote meerderheid is, maar het kan ook een kleine kliek zijn.
 
Ik denk, dat PHP4U mij begrepen heeft en dank hem voor de tip.
Ter bevestiging: Ik moet dus uitproberen:
lp
(Ik durf niets duidelijks te schrijven, want misschien denkt iemand dat het een Esperanto-woord is)
Code:
 = <?php echo $_POST['lingvoLZ']; ?>
en dan
Code:
Eurlingvo += lp;
Ik heb echter geen garantie, dat lp door javascript als getal wordt opgevat.
Daar bestaat toch een functie voor?
 
Laatst bewerkt:
Fatsoen is kennelijk niet voor een ieder de norm. Dat PHP4U nog behulpzaam is, siert hem.
 
Als je dit testje bekijkt dan zie je wat er bij jou niet goed is gegaan.
Code:
<?php $post_lingvoLZ = 200; ?>
<script>
var Eurlingvo = 15;
Eurlingvo += <?php echo $post_lingvoLZ; ?>;
console.log(Eurlingvo);
</script>
Resultaat is getal 215.

aanvulling 1
Als je niet zeker weet of de invoer een getal of string is dan gebruik je in javascript Number("200") dan wordt "200" omgezet in getal 200

aanvulling 2
Wil je veilig gaan dan wordt het dit (voor- en naloopspaties is toegestaan in het getal)
Code:
<?php $post_lingvoLZ = " 200  "; ?>
<script>
var Eurlingvo = 15;
var post_lingvoLZ = "<?php echo $post_lingvoLZ; ?>";
if (isNaN(post_lingvoLZ)) {
  console.log('Invoer is geen nummer');
} else {
  Eurlingvo += Number(post_lingvoLZ);
  console.log(Eurlingvo);
}
</script>

Noot: in plaats van $_POST['lingvoLZ'] heb ik om te testen $post_lingvoLZ gebruikt.

Suc6. Have fun.
 
Laatst bewerkt:
Dank aan de heer Bron, de enige heer, buiten wellicht PHP4U?
 
Laatst bewerkt:
hoe krijg ik "<?php echo $_POST['lingvoLZ']; ?>" weergegeven als getal?
Aan de hand van deze ene regel kon ik over je vraag nadenken, de rest van de uitleg en code was te tijdrovend.
variabele = "......" geeft altijd een string, het maakt niet uit wat er tussen de quotes staat.

Is "<?php echo $_POST['lingvoLZ']; ?>" geen PHP en hoort een functie niet alleen thuis in javascript?
"<?php echo $_POST['lingvoLZ']; ?>" is geen php als er geen PHP preprocessor is, in dat geval is het een JS string.
Functies worden zeer veel in PHP gebruikt, in de meste talen vind je ze terug.

De verhouding tussen je inleidende verhaal en de kern van de vraag was ook voor mij uit balans, zeg ik het zo netjes :p ;)

Veel succes met je script!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan