我想要一个简单的解决方案来将报告号下载到网站上,但是URL复杂并且需要添加的输入位于URL的中间,我的目标URL如下:http://example.com/pocservlet?ReportNumber=USERINPUT&&IPAddress=1.1.1.1&&Method=DownloadPDF < / p>
因此只能从用户输入中更改“ USERINPUT”
答案 0 :(得分:1)
只需将其放在字符串的中间:
var userinput = prompt();
var url = "http://example.com/pocservlet?ReportNumber=" + userinput + "&IPAddress=1.1.1.1&Method=DownloadPDF";
window.open(url);
答案 1 :(得分:1)
您可以使用ES6模板字符串执行此操作。
请注意,较旧的浏览器或Internet Explorer不支持ES6,因此,如果您要使用ES6,则需要确保使用的是诸如Babel之类的编译器。
将字符串用反引号引起来,而不是普通引号,并插入为$ {VARIABLENAME}
简单的例子:
let userInput = "TEST";
const url = `http://example.com/pocservlet?ReportNumber=${userInput}&IPAddress=1.1.1.1&&Method=DownloadPDF`;
console.log(url);
答案 2 :(得分:0)
您可以在其中包含一个带有"USERINPUT"
的字符串,并用正确的用户输入替换该字符串。 JSFiddle:http://jsfiddle.net/2t4gufqr/
var url = "http://example.com/pocservlet?ReportNumber=USERINPUT&IPAddress=1.1.1.1&Method=DownloadPDF";
var urlToOpen = url.replace("USERINPUT", document.getElementById("someInputID").value);
window.open(urlToOpen);//use window.open(urlToOpen, "_blank"); to open in new tab
演示:
<input type="text" id="url" placeholder="Enter report number">
<button onClick="openUrl()">Open URL</button>
<script>
var url = "http://example.com/pocservlet?ReportNumber=USERINPUT&IPAddress=1.1.1.1&Method=DownloadPDF";
function openUrl(){
var urlToOpen = url.replace("USERINPUT", document.getElementById("url").value);
alert(urlToOpen);
window.open(urlToOpen);//use window.open(url, "_blank"); to open in new tab
}
</script>