Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera tenho esse código aqui
<select name='mostrarpromo'>
<option value='1' onclick="document.formprodutos.precopromo.disabled=false, document.formprodutos.data.disabled=false, document.formprodutos.datafinal.disabled=false">Sim</option>
<option value='0' onclick="document.formprodutos.precopromo.disabled=true, document.formprodutos.data.disabled=true, document.formprodutos.datafinal.disabled=true" selected>Não</option>
</select>
<input type='text' name='precopromo' onKeyPress="return(MascaraMoeda(this,'.',',',event))" maxlength="15" disabled="disabled" />
<input type='text' name='data' id='data' value="<?php echo $data; ?>" maxlength='10' disabled="disabled" />
<input type='text' name='datafinal' id='datafinal' value="<?php echo $datafinal; ?>" maxlength='10' disabled="disabled" />
Estou liberando os 3 inputs ao clica na opção Sim do combobox,
está funcionando no FF, mas no Chrome e no IE não,
gostaria de saber se a utilização de 3 comandos dentro do onclick está correta,
se não estiver, como eu poderia fazer isso funcionar em todos navegadores?
Obrigado.
Mesmo separando por ; só no FF funcionou.
em vez de usar a forma:
document.campo.atributo
prefira o standard getElementById()
além disso, não faz nenhum sentido disparar onclick dentro de cada option.
O evento para esse controle de formulário, é o onchange disparado na tag <select>
Feito, vlw Willian ;)
fiz assim
$(function() {
$('.mostrarpromo').change( function() {
if ($(this).val() == '1') {
$('#precopromo').removeAttr('disabled');
$('#data').removeAttr('disabled');
$('#datafinal').removeAttr('disabled');
} else {
$('#precopromo').attr('disabled', 'disabled');
$('#data').attr('disabled', 'disabled');
$('#datafinal').attr('disabled', 'disabled');
}
}
);
});wdc_black_, é por isso que eu amo o jQuery:
$(function() {
$('.mostrarpromo').change( function() {
var $options = $("#precopromo, #data, #datafinal");
if ($(this).val() == '1') {
$options.removeAttr('disabled');
} else {
$options.attr('disabled', 'disabled');
}
}
);
});
está errada..
você deve separar cada "comando" com um ponto e virgula ( ; ), e não com apenas virgula ( , )