Vra

Ek het 'n gids vol Klassieke ASP Legacy -kode, en byna alle lêers het iets soortgelyks hieraan:

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

Later in die kode loop 'n JavaScript aan en doen die volgende:

var x = document.getElementById('driverPayment')

Dit werk goed in IE, maar werk natuurlik nêrens anders nie, want daar is geen ID -kenmerk omskryf nie.

Die oplossing is om deur die 1770 -lêers te gaan en 'n ID -attribuut met die hand by te voeg wat ooreenstem met die naam -eienskap op die invoer. Maak dit dus so:

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

Is daar 'n manier waarop ek hierdie proses kan outomatiseer deur die onderstaande logika te gebruik:

  1. Kry invoerelement met 'n naamkenmerk
  2. As die invoer ID -kenmerk het, skuif na die volgende invoer
  3. Anders voeg 'n ID -attribuut by die invoer, en gee dit 'n naam wat ooreenstem met die waarde van die naamkenmerk

Ek wil dit doen vir die 1770 Classic ASP -lêers wat ek het. Ek gebruik sublieme teks.

Was dit nuttig?

Oplossing

U kan regex gebruik om aan te pas. My regex is nie wonderlik nie, maar die volgende moet werk. Gelukkig vir ander om daarop te verbeter. Ek het 'n bietjie regeks van Hierdie vraag.

Regsklik Projekmap

Kies die opsie "Vind in vouer"

Vind en vervang opsies verskyn onderaan die skerm. Kies die regex -opsie (heel links).

regex-find-and-replace

Ingaan

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

In Find Field

Ingaan

id="driverPayment" name="driverPayment" 

In Vervangveld

Klik op Vervang

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top