login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Goede waarde meesturen met form (Opgelost)

Offline Chupskie - 11/11/2008 14:10
Avatar van ChupskieMySQL beginner
  1. <?php
  2. echo "<select name=maat onchange=\"document.getElementById('displayDiv').innerHTML = '<h4>&euro; '+this.value+' </h4>'\">";
  3.  
  4. $sql = mysql_query("SELECT * FROM producten_maat WHERE prodid = '".$datazz['id']."' ORDER BY id ASC") or die (mysql_error());
  5. while($opties = mysql_fetch_array($sql)){
  6. echo "<option value='".$opties['prijs']."'>".$opties['afmeting']."</option>";
  7. }
  8.  
  9. echo "</select>";
  10.  
  11. echo "<div style='float:left' id='displayDiv'><h4>&euro; </h4></div>";
  12. ?>


Als ik nu het formulier post wordt de prijs meegestuurd ipv de afmeting.

(Maar ik kan de value niet veranderen omdat anders het javascriptje niet meer werkt. Deze update de prijs adhv de afmeting).

Iemand een idee?

4 antwoorden

Gesponsorde links
Offline Abbas - 11/11/2008 16:16
Avatar van Abbas Gouden medaille

Crew .NET
Kan je dan niet beter die $opties['prijs'] in een hidden field zetten om dan in het stukje JavaScript te gebruiken en dan toch de value te veranderen in $opties['afmeting']?!
Offline Gerard - 11/11/2008 16:25 (laatste wijziging 11/11/2008 16:26)
Avatar van Gerard Ouwe rakker Zoals titjes zegt kan je het beste werken met een verborgen input veld waar je informatie mee doorgeeft. Ik heb een stukje code hieronder geplaatst wat werkt voor wat jij wil. Je moet het zelf nog even omzetten naar jouw systeem.

  1. <select name="prijs" id="prijs" onchange="document.getElementById('displayDivValue').innerHTML = this.value; document.getElementById('maat').value = this.options[this.selectedIndex].text;">
  2. <option value="3.00">2 meter bij 2 meter</option>
  3. <option value="4.00">3 meter bij 3 meter</option>
  4. <option value="5.50">4 meter bij 4 meter</option>
  5.  
  6. <input type="hidden" name="maat" id="maat" value="" />
  7. <div id="displayDiv"><h4>&euro; <span id="displayDivValue"></span></h4></div>
Offline Stijn - 11/11/2008 16:25
Avatar van Stijn PHP expert this.value => this.innerHTML in je javascript code.
Offline Chupskie - 12/11/2008 08:36 (laatste wijziging 12/11/2008 08:54)
Avatar van Chupskie MySQL beginner Als ik this.value gebruik, met het voorbeeld van Proximus krijg ik gewoon het bedrag te zien.

Als ik dit wijzig naar this.innerHTML zoals stijn zegt krijg ik alle waardes achterelkaar uit de dropdown weergegeven:

€ 2 meter bij 2 meter 3 meter bij 3 meter 4 meter bij 4 meter (ongeacht welke keuze ik maak in de dropdown).

(Ik ga nu even kijken welke waardes er met bovenstaande code worden meegestuurd).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

edit: Het ziet er naar uit dat alles goed gaat:
[prijs] => 4.00
[maat] => 3 meter bij 3 meter

@stijn, wat zou het nut zijn als this.value verander in this.innerHTML? Wordt dan de waarde op een andere manier meegestuurd ofzo?

In ieder geval probleem opgelost volgens mij (even de reactie van stijn nog afwachten).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s