양식 참여를 추적하는 데 사용하는 javascript 스 니펫이 있습니다. 스크립트에서 두 개의 함수에 객체를 전달하기 위해 $ (this)를 사용하지만 크롬의 "길이가 정의되지 않은 속성을 읽을 수 없습니다"라는 이유로 다음 몇 줄의 코드가 실행되지 않습니다. 왜 $를 사용할 수 없습니까?) 참조 더 이상
$('select').blur(function() {
var input_category = get_input_category($(this));
var form_identifier = get_form_identifier($(this));
if($(this).attr('name').length) {
// This is where I get the error ^^
var object_identifier = $(this).attr('name');
}
else if($(this).attr('id').length) {
var object_identifier = $(this).attr('id');
}
else if($(this).attr('class').length) {
var object_identifier = $(this).attr('class');
}
else {
var object_identifier = null;
}
});
편집 :?. 선택 상자가 부착 된 이름 값이없는
<select type="select">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
그러나이없는 경우 내 스크립트가 보이는 것이 아닙니다 즉? 이름을 계속 입력하고 싶습니다. 오류가 발생하지 않고 속성을 확인하려면 어떻게해야합니까?
, 나에게 보인다 정의되지 않음. 'alert ($ (this) .attr ('name'))'을 추가하여 원하는 출력을 리턴하는지 점검하십시오. –
정의되지 않은 부분은 * attr ('name') *에서옵니다. – McGarnagle
흐리게 처리하고있는 '선택'에 이름 속성이 정의되어 있습니까? – Shmiddty