質問

私はいっぱいのディレクトリを持っています 古典的な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フィールドで

入る

id="driverPayment" name="driverPayment" 

交換フィールド

交換]をクリックします

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top