Como faço pra pegar a opção que foi clicada em um radio button, dentro de um arquivo beforeSendValidate?
Eu preciso pegar uma das opções que foi marcada e mostrar um formulário, assim que o formulário aparecer eu preciso validar os campos desse formulário, por isso estou usando o beforeSendValidate, caso o usuário tente enviar o processo para frente sem preencher os campos vai mostrar um erro, e sem o before ele conseguiria enviar sem preencher os campos.
Eu tentei pegar o value das opções do radio button utilizando o código abaixo, mas não aparece a opção que foi marcada no console.log.
$("[name='opcao_motivo']").click(function (event)
{
console.log("Before Send Validate: ");
console.log("A opção marcada foi: " + this.value);
});
var value = form.getValue('opcao_motivo');
console.log("A opção marcada foi: " + value);
Tenta assim, acredito que vai funcionar.
Mas se for para verificar se esta marcado ou não sugiro usar o validateForm dessa maneira
var activity = getValue('WKNumState');
if(activity == NUMERO_DA_ATIVIDADE){
if(form.getValue('opcao_motivo') == ""){
throw("POR FAVOR, DEFINA SUA APROVAÇAO");
}
Não da pra utilizar form.getValue dentro do beforeSendValidate, mas vou salvar seu comentário pra eventos futuros.
Bom dia senhores, descobri como fazer para pegar o id do radio button dentro do beforeSendValidate, segue abaixo o código.
$('input[name="opcao_motivo"]').each(function (idx, item)
{
if ($(this).is(':checked'))
{
console.log("Before Send Validate, A opção marcada foi:");
console.log($(this).is(':checked'));
console.log($(this).val());
var opcaoMarcada = $(this).val();
if (opcaoMarcada === "P")
{
alert("Promoção selecionada via beforeSendValidate");
//Valida campo que pesquisa por funcionario
if ($('#funcionario').val() == null || $('#funcionario').val() == undefined || $('#funcionario').val() == "")
{
$('#funcionario').parent('div').addClass('has-error');
throw ("Você precisa selecionar o funcionario que vai receber o aumento de salario!");
}
else
{
//Remove a classe de estilo erro "has-error"
$('#funcionario').parent('div').removeClass('has-error');
}
}
}
});
HTML
<div class="row">
<hr class="separador_vermelho">
<h2 class="titulo">
<i class="fluigicon fluigicon-enrollment-verified icon-md"></i>
Motivo do Aumento de Salário
</h2>
<div class="form-group col-md-3 col-sm-6 col-xs-12">
<label>Motivo</label>
<div class="custom-radio custom-radio-primary">
<input type="radio" name="opcao_motivo" value="P" id="radio2">
<label for="radio2">Promoção</label>
</div>
<div class="custom-radio custom-radio-primary">
<input type="radio" name="opcao_motivo" value="AC" id="radio3">
<label for="radio3">Alteração de cargo</label>
</div>
</div>
</div>
Não precisa do for
const opcaoMarcada = $('input[name="opcao_motivo"]:checked').val();
Aí só fazer verificar com as condições que você já fez.