문제

나는 가득 찬 디렉토리가있다 클래식 ASP 레거시 코드 및 거의 모든 파일에는 다음과 비슷한 것이 있습니다.

<input type="hidden" name="driverPayment" value="<% =driverPayment %>">

그런 다음 코드의 나중에 일부 JavaScript가 실행 중이며 다음을 수행합니다.

var x = document.getElementById('driverPayment')

이것은 IE에서 잘 작동하지만 정의 된 ID 속성이 없기 때문에 물론 다른 곳에서는 작동하지 않습니다.

수정은 1770 파일을 거쳐 입력의 이름 속성과 일치하는 ID 속성을 수동으로 추가하는 것입니다. 그러니 그렇게하십시오 :

<input type="hidden" name="driverPayment" id="driverPayment" value="<% =driverPayment %>">

아래 논리를 사용 하여이 프로세스를 자동화 할 수있는 방법이 있습니까?

  1. 이름 속성이있는 입력 요소를 가져옵니다
  2. 입력이 ID 속성이있는 경우 다음 입력으로 이동합니다.
  3. 그렇지 않으면 입력에 ID 속성을 추가하고 이름 속성의 값과 일치하는 이름을 제공합니다.

내가 가진 1770 클래식 ASP 파일에 대해 이것을하고 싶습니다. 숭고한 텍스트를 사용하고 있습니다.

도움이 되었습니까?

해결책

Regex를 사용하여 일치 할 수 있습니다. 내 동정인은 훌륭하지는 않지만 다음은 작동해야합니다. 다른 사람들이 그것을 개선하는 것이 행복합니다. 나는 약간의 동정인을 사용했다 이 질문.

프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하십시오

"폴더 찾기"옵션을 선택하십시오

화면 하단에 옵션을 찾고 교체합니다. Regex 옵션 (왼쪽)을 선택하십시오.

regex-find-and-replace

입력하다

<(?:input)\s+(?=[^>]*\bname\s*=)(?![^>]*\bid\s*=)[^>]*>?(name="driverPayment")

Find Field에서

입력하다

id="driverPayment" name="driverPayment" 

교체 필드에서

교체를 클릭하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top