我的目录中包含经典ASP 遗留代码,几乎所有文件都有类似的内容:
<input type="hidden" name="driverPayment" value="<% =driverPayment %>">
然后在代码中,一些JavaScript正在运行,并执行以下操作:
var x = document.getElementById('driverPayment')
这在IE中运行良好,但当然在其他任何地方都无效,因为没有定义ID属性。
修复是通过1770文件并手动添加与输入上的name属性匹配的ID属性。所以就这样:
<input type="hidden" name="driverPayment" id="driverPayment" value="<% =driverPayment %>">
有没有办法可以使用以下逻辑自动执行此过程:
我想为我拥有的1770 Classic ASP文件执行此操作。我正在使用Sublime Text。
我非常感谢任何帮助。感谢
答案 0 :(得分:2)
您可以使用正则表达式进行匹配。我的正则表达式并不好,但以下应该有效。很高兴其他人改进它。我使用了this question中的一些正则表达式。
右键单击项目文件夹
选择“在文件夹中查找”选项
查找和替换选项显示在屏幕底部。选择正则表达式选项(最左侧)。
输入
<(?:input)\s+(?=[^>]*\bname\s*=)(?![^>]*\bid\s*=)[^>]*>?(name="driverPayment")
<查找字段中的
输入
id="driverPayment" name="driverPayment"
<替换字段中的
点击替换