[js] form probleem

Pagina: 1
Acties:

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ik ben helemaal dus niet weg in javascript, maar nu heb ik een klein probleempje. Ik heb al een aantal dingen geprobeerd, maar ik zie de logica niet echt.

Ik heb namelijk een variabele in javascript in de file edit.php Nu heb ik in edit.php een submit knop zitten. Als ik op deze submit knop druk, moet de javascript variabele met text gesubmit worden. rara hoe doe ik dat? Ik heb al enkele functies proberen te schrijven, maar het lukt niet echt. Het is heel basic, ik weet het, maar heb de oplossing niet kunnen vinden

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 12:40
Post een formulier met een hidden input vanuit javascript kun je de waarde daarvan setten.

Verwijderd

Zet de javascript variabele in een verborgen input veld in het formulier. Dat is alles.
Dit kun je doen met het onsubmit event van het formulier, want dat vindt plaats net voordat het formulier verstuurd wordt.

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">

var sText = "Wat tekst";

window.onload = function () {
  document.getElementById("verstuur").onclick = function () {
    document.getElementById("text").value = sText;
  }
}
</script>

<form method="post" action="basic.php">
  <input type="hidden" id="text" />
  <input type="submit" id="verstuur" value="verstuur">
</form>


// spuit 11 :X

[ Voor 27% gewijzigd door Verwijderd op 10-07-2004 11:40 ]


  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
<form name=edit onsubmit="this.elements['submitted'].value=oHTMLdl.GetHTML;">
<input type=hidden name="submitted" >
<input type=submit value="Submit">
</form>

Dit had ik, maar het werkt niet

oHTMLdl.GetHTML is de variabele

  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 12:40
Maar wat doet ie niet?
Pakt ie als je een string er neer zet het wel?

Verwijderd

RSD schreef op 10 juli 2004 @ 11:43:
<form name=edit onsubmit="this.elements['submitted'].value=oHTMLdl.GetHTML;">
<input type=hidden name="submitted" >
<input type=submit value="Submit">
</form>

Dit had ik, maar het werkt niet

oHTMLdl.GetHTML is de variabele
Die code zou gewoon moeten werken. Waarschijnlijk retouneert oHTMLdl.GetHTML geen string. Weet je wel zeker dat GetHTML goed geschreven is? let op hoofdletters! Weet je ook zeker dat GetHTML geen functie is en geen variabele?

Verwijderd

Verwijderd schreef op 10 juli 2004 @ 11:40:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">

var sText = "Wat tekst";

window.onload = function () {
  document.getElementById("verstuur").onclick = function () {
    document.getElementById("text").value = sText;
  }
}
</script>

<form method="post" action="basic.php">
  <input type="hidden" id="text" />
  <input type="submit" id="verstuur" value="verstuur">
</form>


// spuit 11 :X
Verhaaltje tussendoor:
Dit gaat niet werken. Formuliervelden horen een name attribuut te hebben als ze mee moeten worden gestuurd in een formulier. Een id voor formuliervelden is alleen interessant als je bijvoorbeeld DOM gebruikt, of label elementen.
Ik heb al meerdere malen uitgelegd dat je als je met javascript en formulieren aan de gang gaat, dat je het best gebruik kunt maken van document.forms en document.getElementById kun je beter even vergeten. Als je dan toch DOM functies wilt gebruiken, gebruik dan document.forms.namedItem('formid').elements.namedItem('inputname')
Maar goed, document.forms als array gebruiken werkt makkelijker en is goed genoeg als je toch alleen maar javascript en DOM gebruikt.

Goed, weer ontopic:
Ik gok dat GetHTML een methode is, en dus geen property, en er moeten waarschijnlijk haakjes achter. Als het wel een property is, dan is de naam niet zo handig gekozen.

Verwijderd

Verwijderd schreef op 10 juli 2004 @ 11:50:
[...]

Verhaaltje tussendoor:
Dit gaat niet werken. Formuliervelden horen een name attribuut te hebben als ze mee moeten worden gestuurd in een formulier. Een id voor formuliervelden is alleen interessant als je bijvoorbeeld DOM gebruikt, of label elementen.
Ik heb al meerdere malen uitgelegd dat je als je met javascript en formulieren aan de gang gaat, dat je het best gebruik kunt maken van document.forms en document.getElementById kun je beter even vergeten. Als je dan toch DOM functies wilt gebruiken, gebruik dan document.forms.namedItem('formid').elements.namedItem('inputname')
Maar goed, document.forms als array gebruiken werkt makkelijker en is goed genoeg als je toch alleen maar javascript en DOM gebruikt.
Dat ze een name attribuut moeten hebben: 100% gelijk. Ben ook maar een mens :)
Ik snap alleen niet waarom document.forms beter zou zijn dan W3c DOM functies... Okey, backwards compatibiliteit... Maar wie gebruikt er tegenwoordig nou nog IE 4.0 of Netscape 3?
Verwijderd schreef op 10 juli 2004 @ 11:50:
Goed, weer ontopic:
Ik gok dat GetHTML een methode is, en dus geen property, en er moeten waarschijnlijk haakjes achter. Als het wel een property is, dan is de naam niet zo handig gekozen.
Mee eens...

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Dit heb ik nu:

<form method=post action="AxEditLite.php" onsubmit="this.elements['submitted'].value=oHTMLEdl.GetHTML();">
<input type=hidden name="submitted" >
<input type=submit value="Submit">
</form>
<a href="javascript:alert(oHTMLEd1.GetHTML());">Show Final HTML</a>

Die alert doet het wel, alleen de submit nog niet.. en ja ik had wat typefoutjes, maar nu heb ik ze er wel uit, nopg steeds doet ie het niet...

Hij werkt alweer :-) ik zag door het lettertype het verschil tussen 1 en l niet :-(

[ Voor 22% gewijzigd door RSD op 10-07-2004 12:11 ]

Pagina: 1