>  기사  >  웹 프론트엔드  >  동일한 name_javascript 기술을 사용하는 js 함수 이름과 양식 요소 간의 충돌 문제

동일한 name_javascript 기술을 사용하는 js 함수 이름과 양식 요소 간의 충돌 문제

WBOY
WBOY원래의
2016-05-16 16:56:391212검색

오늘은 엑셀을 내보낼 때 내보내기와 검색을 구분하기 위해 Form 폼에 숨겨진 입력을 사용했습니다. 처음에는 js의 onClick 이벤트 함수 이름이 숨겨진 id와 동일합니다. 결과적으로 오류가 보고됩니다. 함수가 호출되는 줄의 개체가 이 속성을 지원하지 않습니다.

오랜 시간을 찾아봐도 이유를 찾을 수 없었습니다. 처음에는 글자가 틀린 줄 알았는데, js 기능이 전혀 실행되지 않았습니다. 나중에는 다른 함수를 직접 호출할 수 없게 되었는데 작동하는 걸 보니 함수 이름 때문인 줄 알고 작동하기 전에 함수 이름을 바꿨습니다. 그런 다음 입력의 ID를 함수 이름과 동일하게 변경했는데 또 다른 오류가 발생했습니다. 다음 예제를 통해 검증하기 전에는 항상 ThinkPHP 템플릿 파싱의 버그인 줄로만 알았습니다. 다음 예제를 통해 js의 함수 이름이 요소의 id와 동일할 수 없음을 확인합니다.

예:

코드 복사 코드는 다음과 같습니다.

< html>


ceshi</ title><br><script><br>function a()<br>{<br> document.getElementById('a').value="test";<br> Alert(document.getElementById('a') ).value) ;<br> return false;<br>}<br></script><br></head><br><body><br><form><br>< input type="hidden" id="a" name="a" value="" /><br><input type="button" value="excel" onClick="javascript:a();"/ ><br></form><br></body><br></html><br> </div> <br>웹페이지 오류 세부정보 <p>사용자 에이전트: Mozilla/4.0(호환; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727)<br>타임스탬프: 2011년 1월 27일 목요일 13:30:09 UTC</p> <p>메시지: 개체가 이 속성 또는 메서드를 지원하지 않습니다. <br> 줄: 17 <br> 문자: 1 <br> 코드: 0 <br>URI: file:///C:/Documents and Settings/Administrator/ 데스크탑 /test.html</p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="Firefox_javascript 팁에서 클릭하면 js 선택 태그가 팝업될 수 없습니다." href="http://m.php.cn/ko/faq/13744.html">Firefox_javascript 팁에서 클릭하면 js 선택 태그가 팝업될 수 없습니다.</a></span><span>다음 기사:<a class="dBlack" title="Firefox_javascript 팁에서 클릭하면 js 선택 태그가 팝업될 수 없습니다." href="http://m.php.cn/ko/faq/13746.html">Firefox_javascript 팁에서 클릭하면 js 선택 태그가 팝업될 수 없습니다.</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="http://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ko/faq/1609.html" title="Bootstrap 목록 그룹 구성 요소에 대한 심층 분석" class="aBlack">Bootstrap 목록 그룹 구성 요소에 대한 심층 분석</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1640.html" title="JavaScript 함수 커링에 대한 자세한 설명" class="aBlack">JavaScript 함수 커링에 대한 자세한 설명</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/1949.html" title="JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)" class="aBlack">JS 비밀번호 생성 및 강도 감지의 전체 예(데모 소스 코드 다운로드 포함)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2248.html" title="Angularjs는 WeChat UI(weui)를 통합합니다." class="aBlack">Angularjs는 WeChat UI(weui)를 통합합니다.</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ko/faq/2351.html" title="JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술" class="aBlack">JavaScript를 사용하여 중국어 번체와 중국어 간체 간을 빠르게 전환하는 방법과 중국어 간체와 중국어 번체 간 전환을 지원하는 웹사이트의 요령_javascript 기술</a><div class="clear"></div></li></ul></div></div><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="http://m.php.cn/ko/about/us.html">회사 소개</a><a href="http://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="http://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>