[JS]Waarden Velden uitlezen en printen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Kevin Tuns

Kevin Tuns

23/12/2008 00:00:00
Quote Anchor link
Hallo allemaal,

Ik ben momenteel bezig met een website voor een multigaming clan genaamd Hell Bound Soldiers. Aangezien ik nog niet helemaal wegwijs ben met javascript vraag ik daarom ook even om hulp hier bij jullie.

Leden moeten zich natuurlijk aan kunnen melden en ik heb hiervoor een registreer pagina gemaakt. Op het moment is hij nog geheel hard-coded, maar ik wil eerst de layout en zijn functionaliteiten op orde hebben voordat ik verder ga met het uit te werken in PHP ect.

Ik gebruik een acordion om alle stappen op 1 pagina te krijgen zonder dat er herladen hoeft te worden. Zoals jullie kunnen zien is de laatste pagina een feedback moment voor het aanstaande lid. Hier zit nou ook juist het probleem.

Hoe lees ik met javascript de textvelden uit en print ik de waarde op de laatste tab?

Betreffende Pagina

Ik vraag dus eigenlijk om een duwtje in de juiste richting, of als iemand hier ervaring mee heeft een goede uitleg.

Mvg,

Nivek
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
 
PHP hulp

PHP hulp

30/11/2024 05:49:42
 
Rens nvt

Rens nvt

23/12/2008 00:27:00
Quote Anchor link
Er zijn een aantal libraries voor javascript beschikbaar waarmee je naast accordions ook meteen heel makkelijk je velden kunt aanspreken... Kijk bijvoorbeeld eens naar jquery...

In de huidige situatie kun je de waarde van de velden bijvoorbeeld zo uitlezen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.forms[0].elements['naam van het veld'].value;


Als je nu op de vervolgpagina achter elke regel een <span> tag met een id zet, kun je de waardes er zo inzetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.getElementById('id van je span').innerHTML = document.forms[0].elements['naam van het veld'].value;


Mijn advies: kijk meteen naar een library als jquery of mootools, dit gaat je VEEL regels code schelen!
 
Toby hinloopen

toby hinloopen

23/12/2008 04:08:00
Quote Anchor link
wat heeft iedereen met die library's?
ik vind ze maar niks :P
zo groot en zo lomp. Je kan je code prima klein maken zonder library's. - kleiner zelfs.
 
Erwin Geen

Erwin Geen

23/12/2008 08:49:00
Quote Anchor link
Normaal:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.getelementbyid('id').value = 'value';


Mootools:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$('id').value = 'value';


Verschil: 20
Gewijzigd op 01/01/1970 01:00:00 door Erwin Geen
 
Jesper Diovo

Jesper Diovo

23/12/2008 09:46:00
Quote Anchor link
@Warchief: bij 'normaal' ben je document. vergeten ;-).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
document.getElementById('id').value = 'value';
 
Dennis Mertens

Dennis Mertens

23/12/2008 10:07:00
Quote Anchor link
toby hinloopen schreef op 23.12.2008 04:08:
wat heeft iedereen met die library's?
ik vind ze maar niks :P
zo groot en zo lomp. Je kan je code prima klein maken zonder library's. - kleiner zelfs.
Erg groot en lomp? Natuurlijk.

Maar dat hoef je maar 1 keer toe te passen, en het is zelfs copy/past werk.

Daarna kan je met heel veel minder code (en ik vind het zelf ook mooier) veel meer bereiken.

Ook zijn plugins etc. mogelijk. Daar waar gewoon javascript tien talle losse functies gebruikt voor de verschillende effecten etc.
 
Tikkes C

Tikkes C

23/12/2008 10:13:00
Quote Anchor link
jah, die libraries...ik werk ook liever gewoon met JS zonder mootools etc...

waarom zou je die trouwens gebruiken als je JS niet eens goed kan, zo leer je niets bij over de JS syntax etc.

Ik opteer voor gewoon JS...
 
Kevin Tuns

Kevin Tuns

23/12/2008 10:13:00
Quote Anchor link
Om nou gewoon eens te kijken hoe de eerste methode in zijn werk zou gaan heb ik het volgende gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<script type="text/javascript">
document.getElementById('voornaam').innerHTML = document.forms[0].elements['voornaam'].value
</script>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form>
<input type="text" name="voornaam"><br />
First Name: <span id="voornaam"></span>
</form>


Maar er lijkt helemaal niks te gebeuren als ik het textveld ingevuld heb.

En nu even voor de rest ^^, ik ga zeker wel een libary gebruiken omdat er gewoon veel javascript in voor zal komen, maar wil dit nu eerst wel een werkend zien.

Wat gaat er hierboven dus fout?
 
Dennis Mertens

Dennis Mertens

23/12/2008 10:20:00
Quote Anchor link
Ja maar het scriptje wordt nooit aangeroepen. Die code moet in een functie, en die moet aangeroepen worden.
 
Rens nvt

Rens nvt

23/12/2008 10:21:00
Quote Anchor link
offtopic:
Tikkes schreef op 23.12.2008 10:13:
waarom zou je die trouwens gebruiken als je JS niet eens goed kan, zo leer je niets bij over de JS syntax etc.

Ik opteer voor gewoon JS...

Waarom is het gebruik van een library niet gewoon gebruik van JS? Je doet niets anders dan voorheen, alleen bespaar je je bergen met werk en gezeur met cross-browser compatibility.
En wat betreft dat syntax verhaal: slecht argument. Je weet niet vanuit welk oogpunt dit gezegd wordt, ervaren javascript gebruikers kunnen erg goed gebruik maken van een library, en ook startende gebruikers (zoals TS) zullen basiskennis van de syntax nodig hebben om een en ander te doen...

"on topic":
Je hebt op zich de code goed, maar je moet wel even goed kijken wat er nu gebeurt. Je pagina wordt opgebouwd, en daarmee wordt ook je javascript naar de browser verzonden. Als jij de volgende code toevoegt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<script type="text/javascript">
doe iets...
</script>

wordt dit ook meteen met het opbouwen van de pagina (zelfs bij het parsen van de javascript zelf, dus nog voor je body volledig klaar is) uitgevoerd.

Als je de code binnen een functie plaatst kun je zelf bepalen wanneer het wordt uitgevoerd... Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<script type="text/javascript">
function doewat()
{
  alert('klik');
}
</script>
<button onclick="doewat()">Doe wat!</button>


Je zult dus op een of andere manier af moeten vangen dat de gegevens weergegeven moeten worden onder je laatste tab...
 
Kevin Tuns

Kevin Tuns

23/12/2008 10:33:00
Quote Anchor link
Heel erg bedankt voor je hulp, zo leer ik dus terwijl ik er een beetje mee aan het spelen ben.

Heb hem dus nu ongeveer zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<script type="text/javascript">
function updateValue()
{
    document.getElementById('voornaam').innerHTML = document.forms[0].elements['voornaam'].value;
}
</script>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form>
<input type="text" name="voornaam" onChange="updateValue"><br />
First Name: <span id="voornaam"></span>
</form>


Ik ben er 100% zeker van dat hij de functie aanroept want ik heb het eerst geprobeerd met een alert erin zoals jou voorbeeld. Het probleem is nu alleen dat hij niks in de span zet. In FireFox krijg ik geen error, maar IE geeft een unknown runtime error.
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
 
Tikkes C

Tikkes C

23/12/2008 10:35:00
Quote Anchor link
onchange moet onChange worden!

(hoofdletter zijn belangrijk in JS)
 
Kevin Tuns

Kevin Tuns

23/12/2008 10:35:00
Quote Anchor link
Toch roept hij hem aan. Ik zal het meteen veranderen, maar dat update nog steeds de span niet.
 
Erwin Geen

Erwin Geen

23/12/2008 10:35:00
Quote Anchor link
Je kan doen dat wanneer je op de laatste tab klikt dat dan de gegevens er in komen te staan.
 
Kevin Tuns

Kevin Tuns

23/12/2008 10:37:00
Quote Anchor link
Enig idee hoe ik dit zou verwezenlijken?

Alhoewel ik het nu eigenlijk ook wel oke vind als ze direct geupdate worden.
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
 
Kevin Tuns

Kevin Tuns

23/12/2008 11:04:00
Quote Anchor link
om het probleem te localiseren heb ik even een alert toegevoegd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<script type="text/javascript">
function updateValue()
{
    alert('' + document.forms[0].elements['voornaam'].value);
    document.getElementById('voornaam').innerHTML = document.forms[0].elements['voornaam'].value;
}
</script>


Hij geeft in de alert nu gewoon de waarde terug van het veld dat ik net ingevuld heb dus daar ligt het probleem niet. Het probleem zit dus bij het invullen van de span?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form>
<input type="text" name="voornaam" onChange="updateValue"><br />
First Name: <span id="voornaam"></span>
</form>


Wat zou er nou fout kunnen gaan?

En na een kleine debug werkt hij dus helemaal... ik had simpelweg de ; weg gelaten.

Nu ik toch bezig ben zou ik will vragen welke manier om de functie op te roepen het beste is? Want onChange lijkt niet altijd bij een update aangeroepen te worden?
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
 

23/12/2008 11:13:00
Quote Anchor link
Om toch nog heel even te zeuren over de JS lib's: kijk eens naar Dojo. Heeft een uitstekende documentatie en veel functies. Bovendien worden alleen de JS files geladen die jij opgeeft nodig te hebben, waardoor de client geen complete lib hoeft te downloaden.
 
Kevin Tuns

Kevin Tuns

23/12/2008 11:21:00
Quote Anchor link
Nu ik dan toch bezig ben,

is het mogelijk om er een functie van te maken die ik voor alle input velden kan gebruiken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
function updateValue()
{
    document.getElementById('username').innerHTML = document.forms[0].elements['username'].value;
}


Dus zo ombouwen dat ik de naam van het veld er niet hard in hoef te coden?
 

23/12/2008 11:30:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
function updateValue(name)
{
    document.getElementById(name).innerHTML = document.forms[0].elements[name].value;
}
 
Kevin Tuns

Kevin Tuns

23/12/2008 11:42:00
Quote Anchor link
En als ik dan zou willen dat bij het laden van de pagina gekeken word wat er al ingevuld word en dit toegepast word moet ik dit dan wel hard coden of is daar ook iets voor?

+

IE blijft een unkown runtime error geven terwijl hij in FF wel werkt.
Gewijzigd op 01/01/1970 01:00:00 door Kevin Tuns
 
Rens Rikkerink

Rens Rikkerink

23/12/2008 12:20:00
Quote Anchor link
haal document. weg bij het gedeelte waar je de innerHTML veranderd
Dat probleem heb ik ook vaak gehad.
 

Pagina: 1 2 volgende »



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.