我正在使用 formmail.php 中的一项功能,该功能允许我使用隐藏输入来重命名用户上传的文件。这样我可以保留真实公司名称的值,同时从组合文件名中删除非法字符。
我编写了一个函数,可以进行适当的替换并将新值分配给字符串变量,这样我就可以在隐藏的输入中使用。像这样:
<input type="text" id="CompanyName" name="CompanyName" size="60" maxlength="40" onchange="clean(this.value)" required>
<script type="text/javascript">
cleanName = ""; // variable outside the function meant to be Global
function clean()
{
cleanName = document.getElementById("CompanyName").value.replace(/[/\\/'"*&%$]/g, "");
}
</script>
然而,当我尝试使用那个“cleanName”变量时,它的值显示为空:
<input type="hidden" name="file_names" value="Proof=State.%2D%.cleanName.%'-Paymnt'%.%2D%.Proof" />
该文件以“NY--Paymnt-FileName.pdf”的形式上传。
我怎样才能使这项工作?