- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2025 04:26 AM
I have a client script that triggers an include script to convert base64 to image, however my client script has two IF statements, the first IF (if (crachaEstagiario)) is working as expected, while the second IF (else if (crachaFuncionario)) works partially, but the replace does not work. Could someone help me?
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var nomeArquivo = 'imagem_cracha.jpg';
var tipoMime = 'image/jpeg';
var tabelaDestino = 'x_bdb_anexo_imagem';
var ga = new GlideAjax('global.AnexoImagem');
ga.addParam('sysparm_name', 'anexarImagemBase64Client');
ga.addParam('sysparm_base64', newValue);
ga.addParam('sysparm_nome', nomeArquivo);
ga.addParam('sysparm_mime', tipoMime);
ga.addParam('sysparm_tabela', tabelaDestino);
ga.getXMLAnswer(function(response) {
if (response) {
try {
var result = JSON.parse(response);
if (result && result.anexoSysId) {
var v_sys_id_imagem_base64 = result.anexoSysId;
g_form.setValue('v_sys_id_imagem_base64', v_sys_id_imagem_base64);
var crachaEstagiario = g_form.getValue('selecione_a_cor_do_seu_novo_cracha_estagiario');
var crachaFuncionario = g_form.getValue('selecione_novo_cracha_funcionario');
if (crachaEstagiario) {
var templateHTML = g_form.getDisplayValue(crachaEstagiario);
templateHTML = templateHTML.replace('cracha', v_sys_id_imagem_base64);
alert(templateHTML);
g_form.setValue(crachaEstagiario, templateHTML);
} else if (crachaFuncionario) {
var templateHTML = g_form.getValue(crachaFuncionario);
templateHTML = templateHTML.replace('cracha', v_sys_id_imagem_base64);
alert(templateHTML);
g_form.setValue(crachaFuncionario, templateHTML);
}
g_form.showFieldMsg('v_imagem_em_base64', 'Imagem anexada com sucesso!', 'info');
} else {
g_form.showFieldMsg('v_imagem_em_base64', 'Erro ao anexar imagem.', 'error');
return;
}
} catch (e) {
g_form.showFieldMsg('v_imagem_em_base64', 'Resposta inválida do servidor.', 'error');
return;
}
} else {
g_form.showFieldMsg('v_imagem_em_base64', 'Nenhuma resposta do servidor.', 'error');
return;
}
});
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2025 05:34 AM
does that variable have value?
try this and share your findings
💡 If my response helped, please mark it as correct ✅ and close the thread 🔒— this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-27-2025 05:56 AM
Hola @Ariomar de Deus - Check these values...
var crachaEstagiario = g_form.getValue('selecione_a_cor_do_seu_novo_cracha_estagiario');
var crachaFuncionario = g_form.getValue('selecione_novo_cracha_funcionario');
if (crachaEstagiario) {
var templateHTML = g_form.getDisplayValue(crachaEstagiario);
templateHTML = templateHTML.replace('cracha', v_sys_id_imagem_base64);
alert(templateHTML);
g_form.setValue(crachaEstagiario, templateHTML); //CT - "crachaEstagario" should be a field name value. Appears to be a value of a field name rather than the field name itself, i.e. selecione_a_cor_do_seu_novo_cracha_estagiario
REPLACE WITH
var ce = "selecione_a_cor_do_seu_novo_cracha_estagiario"; //field name
var crachaEstagiario = g_form.getValue(ce);
var crachaFuncionario = g_form.getValue('selecione_novo_cracha_funcionario');
if (crachaEstagiario) {
var templateHTML = g_form.getDisplayValue(crachaEstagiario);
templateHTML = templateHTML.replace('cracha', v_sys_id_imagem_base64);
alert(templateHTML);
g_form.setValue(ce, templateHTML);
