[PHP] IFRAME waarden uitlezen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met het ontwikkelen van een orderformulier.
Het eerste gedeelte bestaat uit een het invullen van bedrijfsgegevens en klantgegevens. Daarna komen de orderregels en deze orderregels geef ik weer in een IFRAME. De reden dat ik hiervoor gekozen heb, is dat na iedere orderregel het totale inkoop en totale verkoopbedrag worden bijgewerkt door middel van refresh.
Op deze manier hoeft maar een gedeelte van de pagina opnieuw geladen te worden in plaats van de hele pagina.
Na het IFRAME komen nog een aantal invoervelden en daarna een submit button.

En nu komt het, ik wil dus alles in 1 keer submitten en vervolgens in mijn database pompen. Ik kan alles van de pagina submitten, behalve de orderregels in mijn IFRAME.

Wie kan mij helpen een oplossing te vinden voor dit probleem?
Ik heb de search gebruikt, maar ik ben geen gelijksoortige problemen tegengekomen. Het meeste gaat over de tekst uit een IFRAME halen, maar in mijn situatie gaat het om een compleet orderformulier van 20 regels met ieder 5 input velden.

Acties:
  • 0 Henk 'm!

  • Tommetje
  • Registratie: Februari 2004
  • Laatst online: 19-11-2024
Hmmz, het kan aan mij liggen, maar ik volg je niet helemaal.
Je hebt dus een pagina, met daarin een iframe waarin mensen in input velden dingen kunnen invullen en in de pagina met dat iframe komt een button waarmee de gegevens uit het iframe moeten worden verstuurd??
Geef anders ff een stuk relevante code en een online voorbeeldje.

Hoi!


Acties:
  • 0 Henk 'm!

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Je kan bijvoorbeeld hidden inputs maken, en dan onsubmit deze vullen met de waarden van de velden in het iframe?

Wat je evt ook kan doen is het totale inkoop- en verkoopbedrag bijwerken met javascript; dan heb je geen refresh en hoef je ook geen iframe te gebruiken.

[ Voor 42% gewijzigd door Rickets op 25-02-2004 15:25 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Maak het lijstje eerst even in je sessie en geef dat weer. Bij het posten lees je naast je formulier ook de sessie uit en sla het op?

Toevallig vanmiddag exact hetzelfde principe gemaakt :P

[ Voor 19% gewijzigd door Bosmonster op 25-02-2004 15:25 ]


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Nog mooier; maak gebruik van JavaScript en de DOM om je berichten zonder refresh aan de user te presenteren. Dit is natuurlijk alleen mogelijk als er geen serverside controle van de gegevens plaatsvindt :) Het gebruik van een iFrame om een refresh te ondersteunen vindt ik nou niet echt mooi ;)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bosmonster schreef op 25 februari 2004 @ 15:24:
Maak het lijstje eerst even in je sessie en geef dat weer. Bij het posten lees je naast je formulier ook de sessie uit en sla het op?

Toevallig vanmiddag exact hetzelfde principe gemaakt :P
Toeval :P

Jij bedoelt dat je iedere ordervariabele in een sessie variabele stopt?
Maar dit moet dan toch ook via een submit gebeuren? Ik snap hem niet helemaal.
Kun je een voorbeeldje geven van hoe je het hebt gedaan?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Ik had toevallig een formulier waar mensen zich voor vanalles in konden schrijven. Dit was weer opgebouwd uit vanalles (locatie, datum, etc). Ik post naar het iframe elke keer als ik iets toe wil voegen. In het iframe wordt er gewoon een regeltje in de sessie toegevoegd met de variabelen van de bestelling. Ook geeft deze een lijstje weer van alles wat er nu in de sessie zit.

Op het moment van het submitten van het formulier in het hoofdscherm lees ik daar vanalles uit en haal ik het overzicht uit de sessie en sla alles op in de database. Ik hoef dus in feite niks uit het iframe te lezen, want het iframe geeft alleen maar weer wat er al in de sessie zit.

[ Voor 10% gewijzigd door Bosmonster op 25-02-2004 15:40 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Spider.007 schreef op 25 februari 2004 @ 15:26:
Nog mooier; maak gebruik van JavaScript en de DOM om je berichten zonder refresh aan de user te presenteren. Dit is natuurlijk alleen mogelijk als er geen serverside controle van de gegevens plaatsvindt :) Het gebruik van een iFrame om een refresh te ondersteunen vindt ik nou niet echt mooi ;)
Ik heb geen serverside controle nodig, dus ik laat nu de refresh achterwege en de IFRAME is vervallen. Ik heb het oplost door middel van een Javascript functie die op bepaalde inputs een functie uitvoert. Het werkt nu veel sneller dan voorheen. _/-\o_

Stukje van de code die ik gebruikt hebt, ik heb het alleen meer dynamischer gemaakt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">

function doCalc(frm){
    var i1 = parseInt(frm.input1.value, 10);
    var i2 = parseInt(frm.input2.value, 10);
    var result = i1 + i2;
    if(isNaN(result)) result = 0;
    frm.input3.value = result;
}

</script>
</head>
<body>
<form name="testfrm">
<input type="text" name="input1" value="0" onchange="doCalc(this.form)">
<input type="text" name="input2" value="0" onchange="doCalc(this.form)">
<input type="text" name="input3" value="0">
</form>


Slotje!

[ Voor 62% gewijzigd door Verwijderd op 25-02-2004 16:48 ]

Pagina: 1