Disabled problem

Programovacie jazyky, rady, poradňa...
scriptType
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 110
Registrovaný: 22 feb 2011, 19:34

Disabled problem

Príspevok od používateľa scriptType »

Zdravím,
žiadam o pomoc. Mám formulár, kde je select a da sa vybrat pocet. Kde pocet 1 = 30 ked zada 2 tak suma je 60 ked 3 tak 90...

Kód: Vybrať všetko

<form action="<?php $_SERVER['self']; ?>" method="POST">
	E-mail: <input type="text" class="email" name="email" value="" />
	
        Počet: 
        <select name="pocet" class="pocet" id="pocet" onchange="cenaa()">
	  <option value="vybrat">Vybrať</option>
	  <option value="1">1</option>
	  <option value="2">2</option>
	  <option value="3">3</option>
          <option value="4">4</option>
	  <option value="5">5</option>
	</select>
		
	Cena:
	  <input type="text" name="suma" id="suma"  value="0" />€
		<input type="submit" name="odoslat" value="Odoslať" /></td>
</form>
Javascript:

Kód: Vybrať všetko

function cenaa() {
     
      var cena = 0;
   
      pocetk=document.getElementById('pocetv').value;
	  if(pocetk=="vybrat") {
		cena = 0;	
	  } else {
		cena = pocetk * 30;
	  }
      cena=Math.round(cena * 100) / 100
      document.getElementById('suma').value = cena;
    }
Pocitanie ide fajn, no zaraza ma jeden problem. Cenu ktoru vypisujem je editovatelna, kedze je v input type text. Nechcem aby sa dala editovat. Chcem aby sa zobrazila a dalo sa snou dalej pracovat. Skusal som nastavit inputu zo sumou disabled="disabled" . Cenu zobrazilo, upravit sa nedala a bralo ju ako text, no však, po odoslani formulara suma nechodi, ani sa nezapise do databazy ani nic. Ako keby ju disabled bloklo. Dalo by sa to vyriesit nejako inak? Aby som s cenou mohol pracovat a aby sa nedala upravit? Vdaka za rady. :)
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa weroro »

Alternatívne riešenie, ktoré ma napadlo, keď už nič iné môžeš použiť to.

Po stlačení submitu by som zavolal enabled. Proste keď viem, že po použití disabled mi to nebehá ale s enabled to funguje, tak ho nechám disabled ale po požiadavke na odoslanie formulára by som ho znovu prepol na enabled aby sa odoslal.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa audiotrack »

v javascripte zmeň riadok:

Kód: Vybrať všetko

document.getElementById('suma').value = cena;
na

Kód: Vybrať všetko

document.getElementById('suma').value = cena;
document.getElementById('suma_edit').value = cena;
a v html zmeň

Kód: Vybrať všetko

<input type="text" name="suma" id="suma"  value="0" />€
na toto

Kód: Vybrať všetko

<input type="text" id="suma_edit"  value="0" />€
<input type="hidden" name="suma" id="suma"  value="0" />€
scriptType
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 110
Registrovaný: 22 feb 2011, 19:34

Re: Disabled problem

Príspevok od používateľa scriptType »

Ďakujem za pomoc :) Audio kod ide spravne. Weroro taktiež ďakujem za odpoveď. :) :plus:
eMPiko
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3085
Registrovaný: 11 jan 2007, 16:40

Re: Disabled problem

Príspevok od používateľa eMPiko »

Nestacilo by namiesto atributu disabled="disabled" pouzivat readonly="readonly" ?
TommyHot
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3340
Registrovaný: 25 okt 2009, 0:23
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa TommyHot »

Cele zle.

Hidden v ziadnom pripade nepouzivaj, hlavne ak ide o objednavkove procesy. Pride clovek, hodi ti do hiddenu 0 a ma tovar zadarmo. Na strane HTML len zobrazuj udaje a vsetky vypocty ries v PHPcku zo vstupov z modelov (data z db, filesystemu, jsonu, xml atd). A ako povedal eMPiko pouzi readonly.
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa weroro »

TommyHot napísal:A ako povedal eMPiko pouzi readonly.
A čo špekulanti s User-Scriptami?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa audiotrack »

TommyHot napísal:Cele zle.

Hidden v ziadnom pripade nepouzivaj, hlavne ak ide o objednavkove procesy. Pride clovek, hodi ti do hiddenu 0 a ma tovar zadarmo. Na strane HTML len zobrazuj udaje a vsetky vypocty ries v PHPcku zo vstupov z modelov (data z db, filesystemu, jsonu, xml atd). A ako povedal eMPiko pouzi readonly.
to ale nie je chyba hidden elementu, ale jeho návrhu. Pýtal sa ako to spraviť aby to išlo. To že tam má logické nedostatky je už jeho problém. Hidden elementy sa používajú bežne, a nájdeš ich v takmer každom formulári
TommyHot
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3340
Registrovaný: 25 okt 2009, 0:23
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Disabled problem

Príspevok od používateľa TommyHot »

To, ze sa pouzivaju neznamena, ze je vhodne ich pouzivat. Hlavne ak manualnou zmenou ich hodnoty dojde k zasadnemu problemu na strane backendu.
Napísať odpoveď