Toon posts:

Value overnemen

Pagina: 1
Acties:
  • 212 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

De volgende regels worden in een html-document uit een CGI-script gegenereerd:

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="GENRC3725">

Nu wil ik de 'VALUE' in het dat zelfde document overnemen. Weet iemand of dat mogelijk is, en zo ja, hoe dat moet?

Groet, Sjoerd

  • party42
  • Registratie: Oktober 2000
  • Laatst online: 13:36
1. met een form post en vervolgens uitvragen
2. met een javascript functie (document.form[0].directArg.value;)

ps. overigens aardig om je form een naampje te geven... daarnaast, ik vrees dat je dit ook had kunnen opzoeken...

Everyday's an endless stream, of cigarettes and magazines...


Verwijderd

Topicstarter
Het probleem is dat deze form uit een script gegenereerd wordt, zonder naam dus! Anders had ik het form een naam kunnen geven.

Verwijderd

party42 schreef op maandag 28 november 2005 @ 12:32:
1. met een form post en vervolgens uitvragen
2. met een javascript functie (document.form[0].directArg.value;)

ps. overigens aardig om je form een naampje te geven... daarnaast, ik vrees dat je dit ook had kunnen opzoeken...
@2: document.forms[0].directArg.value;

:)

Verwijderd

Topicstarter
Sorry, maar ik ben een beetje een leek. Hoe gaat het geheel er uit zien dan? Alvast bedankt.

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 23:48
Wat heb je zelf al opgezocht dan?
Tutorials doorgespit? :)

Je hoeft overigens niet te groeten onder je post.

Motor onderhoud bijhouden


Verwijderd

Topicstarter
Ja, dat heb ik al opgezocht, maar ik kan niks vinden. Deze topics zijn is er toch om iemand te helpen?

Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 13:20:
Ja, dat heb ik al opgezocht, maar ik kan niks vinden. Deze topics zijn is er toch om iemand te helpen?
Je wilt ergens anders die tekst echo-en? Doe dan zoiets als <input disabled text="document.forms...">

Verwijderd

Topicstarter
Ja, inderdaad.

Ik heb nu:

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="document.forms[0].directArg.value;">

Maar de value wordt nog niet meegenomen van de voirge form?

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 23:48
Sjoerd_Vonk:
Ja, dat heb ik al opgezocht, maar ik kan niks vinden.
Waar dat uit blijkt is mij volstrekt onduidelijk.
Sjoerd_Vonk:
Deze topics zijn is er toch om iemand te helpen?
Ja, alleen wordt er wel enig niveau en zelfwerkzaamheid van je verwacht.

Motor onderhoud bijhouden


  • Reinier
  • Registratie: Februari 2000
  • Laatst online: 23:49

Reinier

\o/

Verwijderd schreef op maandag 28 november 2005 @ 13:34:
Ja, inderdaad.

Ik heb nu:

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="document.forms[0].directArg.value;">

Maar de value wordt nog niet meegenomen van de voirge form?
Je zit dus vanalles in de form te wijzigen en je zegt net dat deze gegenereerd wordt, hoe zit het nou :?

  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 20:33

Salandur

Software Engineer

Verwijderd schreef op maandag 28 november 2005 @ 13:34:
Ja, inderdaad.

Ik heb nu:

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="document.forms[0].directArg.value;">

Maar de value wordt nog niet meegenomen van de voirge form?
Je zet documents.forms[0].directArg.value natuurlijk wel op de plaats waar je de waarde zichtbaar wilt maken. Bovendien is mijn nog niet duidelijk wat je nou precies wilt: moet de variable doorgegeven worden tussen 2 paginas of wil je deze waarde ergens af laten drukken op de zelfde pagina als het formulier????

[ Voor 26% gewijzigd door Salandur op 28-11-2005 13:39 ]

Assumptions are the mother of all fuck ups | iRacing Profiel


Verwijderd

Oh, als het gesubmit wordt, moet daar de waarde in komen te staan van voor de submit? Maar dat kan toch nooit, hoe wil je die waarde vullen?? De waarde zal altijd de initiele waarde blijven als je deze telkens vult met de hidden input... De gebruiker kan dit toch nooit zelf invullen?

Verwijderd

Topicstarter
Er wordt een formulier gegenereerd uit een CGI script met een bepaalde waarde (value). Deze waarde heb ik weer nodig in een nieuw formulier in hetzelfde document.

Verwijderd

Topicstarter
Even ter verduidelijking:

form 1 (gegenereerd uit CGI-script):

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="GENRC3730">

form 2 (zelf geschreven):

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="hier komt value van form 1">

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 23:48
Even ter verduidelijking:

Je hoeft geen 2x achter elkaar een bericht te plaatsen. :)
Daar bestaat de edit knop voor:

Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/tweakers/images/icons/edit.gif

Motor onderhoud bijhouden


Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 13:50:
Even ter verduidelijking:

form 1 (gegenereerd uit CGI-script):

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="GENRC3730">

form 2 (zelf geschreven):

<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE="hier komt value van form 1">
Zet dan eens in value van form2 de eerder genoemde documents.forms..., weet niet zeker of ie dan de string neemt of de waarde daadwerkelijk opzoekt. Even proberen dus.

Verwijderd

Topicstarter
Nee, helaas. :'(

Iemand anders nog een idee?

[ Voor 55% gewijzigd door Verwijderd op 28-11-2005 14:16 ]


Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 14:13:
Nee, helaas. :'(

Iemand anders nog een idee?
Ja hoezo werkt het niet? Wat krijg je dan? Een foutmelding? Komt de string erin te staan? Haal dan de quotes eens weg, d.w.z. value=document...

Verwijderd

Topicstarter
Ik heb nu:

(form 2):
<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE=document.forms[0].directArg.value;>

Maar de VALUE van form 1 wordt niet meegenomen, helaas.

Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 14:26:
Ik heb nu:

(form 2):
<FORM METHOD="POST" ACTION="CUWP_CGI.EXE">
<INPUT TYPE="hidden" NAME="directArg" VALUE=document.forms[0].directArg.value;>

Maar de VALUE van form 1 wordt niet meegenomen, helaas.
Het werkt alleen als form 1 VOOR form 2 staat... Anders zou je forms[1] moeten hebben IMO. Er komt gewoon helemaal niets in te staan? Wat staat er precies in de html-source?

Verwijderd

Topicstarter
form 1 staat inderdaad VOOR form 2. Wanneer ik in de source kijk staat er gewoon: VALUE=document.forms[0].directArg.value;

Dus is er niks overgenomen van form 1

Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 14:35:
form 1 staat inderdaad VOOR form 2. Wanneer ik in de source kijk staat er gewoon: VALUE=document.forms[0].directArg.value;

Dus is er niks overgenomen van form 1
Dat dacht ik al... Ik weet zo niet de netste oplossing, maar je zou het m.b.v. een functie kunnen doen:

HTML:
1
2
3
4
5
6
7
<script>
function getArg() {
  return document.forms....
}
</script>
...
<input type=hidden value=' getArg();'/>

[ Voor 5% gewijzigd door Verwijderd op 28-11-2005 14:43 ]


Verwijderd

Logisch, omdat javascript client-side is en niet server side dus je zal altijd de javascript code zien. Als je het fomrulier verzend krijg je wel de data van forms[0]

Je kan het toch gewoon testen?

<script>
alert(document.forms[0].directArg.value);
</script>

[ Voor 24% gewijzigd door Verwijderd op 28-11-2005 14:42 ]


  • Mike78
  • Registratie: September 2000
  • Laatst online: 22-04 11:21

Mike78

Always

zet er anders eens javascript: voor

24 uur per dag, 24 biertjes in een krat. Toeval?


Verwijderd

Sjoerd, wanneer je met javascript een waarde in een veld instelt veranderd de broncode niet! Daarnaast werkt "VALUE=document.forms[0].directArg.value;" ook niet... Je zult een stukje javascript tussen script tags moeten zetten...

Iets in de geest als
JavaScript:
1
2
3
<script>
document.forms[1].directArg.value = document.forms[0].directArg.value;
</script>


Tip: gebruik, vooral als beginnende javascripter, uit mozilla / firefox, de zeer handige javascript-console

Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 14:40:
Logisch, omdat javascript client-side is en niet server side dus je zal altijd de javascript code zien. Als je het fomrulier verzend krijg je wel de data van forms[0]

Je kan het toch gewoon testen?

<script>
alert(document.forms[0].directArg.value);
</script>
Weet je dat 1e wel heel zeker? Volgens mij wordt er bij het submitten niets meer uitgevoerd. Je zegt zelf dat jscript cs is, maar je zegt wel dat bij het submitten de javascript (serverside??) wordt uitgevoerd. Lijkt me niet dus he :)

Verwijderd

Topicstarter
Met een een alert krijg ik de juiste waarde!!!! Alleen nu nog in een form?

Verwijderd

Verwijderd schreef op maandag 28 november 2005 @ 14:55:
Met een een alert krijg ik de juiste waarde!!!! Alleen nu nog in een form?
Zet er eens javascript: voor zoals gezegd :X

Of wat TimD zei...

[ Voor 5% gewijzigd door Verwijderd op 28-11-2005 14:57 ]


Verwijderd

Topicstarter
Het werkt! Mag ik iedereen vriendelijk bedanken!

Verwijderd

Weet je dat 1e wel heel zeker? Volgens mij wordt er bij het submitten niets meer uitgevoerd. Je zegt zelf dat jscript cs is, maar je zegt wel dat bij het submitten de javascript (serverside??) wordt uitgevoerd. Lijkt me niet dus he
De broncode zal niet veranderen door JS, dus die zal gewoon zichtbaar zijn. Dus de waarde van forms[0].directArg zal je niet zien in het andere formulier. Maar de waarde zit er WEL in. Dus als je het verstuurd zal je wel de juiste waarde meekrijgen.

Uiteraard kan je geen javascript uitvoeren in een formulier, dus zal je de waarde meoten wijzigen via een javascriptje zoals TimD bv geplaatst heeft:

code:
1
2
3
<script>
document.forms[1].directArg.value = document.forms[0].directArg.value;
</script>


Ik ga natuurlijk niet alles voorkouwen, de TS mag zelf ook wat opzoeken en de stukjes in elkaar klikken.

[edit]

en is blijkbaar gelukt

[ Voor 6% gewijzigd door Verwijderd op 28-11-2005 15:07 ]

Pagina: 1