Zadejte hledaný výraz...

Zakázané option i po odeslání formuláře

Ondřej Váško
verified
rating uzivatele
14. 10. 2013 11:01:56
Dobrý den, řeším problém, kde mám pomocí JS udělané, aby v případě vybrání jiného optionu než který má hodnotu repeater v selectoru aby se zakázaly selectory se jmény repmodea, repmodeb.
Tyto selectory mám ve formuláři, který když odešlu, tak formulář zůstane na stejné straně. Jenže zůstane-li vybraná položka jiná než value=repeater, tak repmodea a repmodeb už nejsou zakázány. A to je problém, protože nyní pokud dám odeslat, odešlou se mi i hodnoty z repmodea a repmodeb.
Zkrátka: pokud je vybráno něco jiného než repeater, nesmí být povoleny k výběru selectory repmodea, repmodeb.
Dokázal by mi někdo poradit, jak to ošetřit?
Děkuji
14. 10. 2013 11:01:56
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955530
ique
verified
rating uzivatele
(1 hodnocení)
22. 11. 2013 21:50:20
asi něco takového
window.onload=function(){
var eSidu= document.getElementById('idumode');
var eSrepa = document.getElementById('repmodea');
var eSrepb = document.getElementById('repmodeb');
eSidul.onchange = function() {
if(eSidu.value === 'repeater) {
eSrepa.disabled = false;
eSrepb.disabled = false;
} else {
eSrepa.disabled = true;
eSrepb.disabled = true;
}
}
};
22. 11. 2013 21:50:20
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955529
Ondřej Váško
verified
rating uzivatele
23. 11. 2013 12:56:35
Napsal ique;1024772
asi něco takového
window.onload=function(){
var eSidu= document.getElementById('idumode');
var eSrepa = document.getElementById('repmodea');
var eSrepb = document.getElementById('repmodeb');
eSidul.onchange = function() {
if(eSidu.value === 'repeater) {
eSrepa.disabled = false;
eSrepb.disabled = false;
} else {
eSrepa.disabled = true;
eSrepb.disabled = true;
}
}
};
Díky. Já jsem ten problém tenkrát poslal k vodě, tak teď to dořeším.
---------- Příspěvek doplněn 25.11.2013 v 07:19 ----------
Napsal ondra15;1024861
Díky. Já jsem ten problém tenkrát poslal k vodě, tak teď to dořeším.
Tak jsem se snažil kód vložit do stránek, ale nefunguje to. Není mi jasné, proč je tam
, konkrétně to eSidul. A je nutné ještě do HTML kódu dopsat k nějakému elementu onchange='nazev_funkce' ?
Díky
23. 11. 2013 12:56:35
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955528
ique
verified
rating uzivatele
(1 hodnocení)
25. 11. 2013 08:53:32
var eSidu= document.getElementById('idumode');
do teto promněne se načte dle id options idumode
je tam chybyčka mělo by tam byt eSidu.onchange == function(){ to je místo toho aby jste to psali do nějakyho elementu onchange
teď tam je eSidul.onchange, to pismenko l
25. 11. 2013 08:53:32
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955527
Ondřej Váško
verified
rating uzivatele
25. 11. 2013 10:24:15
Napsal ique;1025358
var eSidu= document.getElementById('idumode');
do teto promněne se načte dle id options idumode
je tam chybyčka mělo by tam byt eSidu.onchange == function(){ to je místo toho aby jste to psali do nějakyho elementu onchange
teď tam je eSidul.onchange, to pismenko l
Pokus omyl jsem na to taky přišel. Ale stále mi nefunguje fce onload. Po příchodu na stránku elementy repmodea a repmodeb nejsou disabled. Nemohla by tam být ještě někde chyba?
25. 11. 2013 10:24:15
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955526
ique
verified
rating uzivatele
(1 hodnocení)
25. 11. 2013 11:38:00
jo tahle, chces je mit hned zakazane? kdyz se nacte stranka?
---------- Příspěvek doplněn 25.11.2013 v 11:39 ----------
window.onload=function(){
var eSidu= document.getElementById('idumode');
var eSrepa = document.getElementById('repmodea');
var eSrepb = document.getElementById('repmodeb');
eSrepa.disabled = true;
eSrepb.disabled = true;
eSidu.onchange = function() {
if(eSidu.value === 'repeater) {
eSrepa.disabled = false;
eSrepb.disabled = false;
} else {
eSrepa.disabled = true;
eSrepb.disabled = true;
}
}
};
25. 11. 2013 11:38:00
https://webtrh.cz/diskuse/zakazane-option-i-po-odeslani-formulare/#reply955525
Pro odpověď se přihlašte.
Přihlásit