본문 바로가기

나만 중요한 Tip

Uncaught SyntaxError: Invalid left-hand side in assignment

Uncaught SyntaxError: Invalid left-hand side in assignment(...........)
오류는 일반적으로 JavaScript 코드에서 할당 연산자(=)의 왼쪽에 값을 할당할 수 없는 것이 왔을 때 발생합니다.


아래와 같은 코드로 구성이 되어 있을때 문제가 없어야 맞습니다.

<input type="hidden" name="cf_adname"     id="cf_adname"      value="<?php echo $mb['cf_adname'] ?>">
function populateData(item) {
		const gubun = document.getElementById('cf_gubun').value;

		if (gubun === 'A') {
			cfCompanyNameInput.value = item.ad_companyname || '';
			document.getElementById('cf_adname')?.value = item.ad_adname || '';
			document.getElementById('cf_tax')?.value = item.ad_tax || '';
			// ...광고주 항목
		} else if (gubun === 'B') {
			cfCompanyNameInput.value = item.ex_companyname || '';
			// ...실행사 항목
		} else if (gubun === 'C') {
			cfCompanyNameInput.value = item.mb_name || '';
			// ...직원 항목
		}
	}

 

이것 저것 해봐도 해결이 되지 않아서 document.getElementById()로 요소를 찾은 후, 해당 요소가 존재할 때만 값을 할당하는 것으로 처리하여 오류를 해결했습니다.

const cfManagerNameInput = document.getElementById('cf_manager_name');
if (cfManagerNameInput) {
    cfManagerNameInput.value = item.ad_manager_name || '';
}

 

 

반복되는 패턴을 함수로 묶어서 코드를 더 간결하게 만들 수 있습니다.

function safeSetValue(elementId, value) {
    const element = document.getElementById(elementId);
    if (element) {
        element.value = value || '';
    }
}

safeSetValue('cf_adname', item.ad_adname);
safeSetValue('cf_tax_id', item.ad_tax_id);

 

 

 

아토믹크루