修改 HTML 以将文本输入作为 URL 参数传递

Modifying HTML to pass Text Input as URL Parameter

提问人:jbroutier 提问时间:2/23/2023 更新时间:2/23/2023 访问量:204

问:

请原谅我,因为我是 HTML 和 Javascript 的新手。下面是我尝试使用的代码,用于从用户将输入的文本框输入中将参数动态传递到 PowerBI 报表的 URL 中。有人可以给我建议如何修改它,以便在单击链接时将文本框中的输入传递到 URL?要求我不使用后面的代码。我确定不建议这样做,但由于业务规则,这超出了我的控制范围。在下面你可以看到,我试图获取文本框的值,然后将其作为 X 传递给我的 URL 字符串。当我测试它时,没有任何反应,因此我的重定向 URL 无效。

这是我尝试过的:

<html>
    <body>
<div class="pageContent">
        <div class="form-group has-feedback">
            <label class="control-label" for="inputSuccess2">Project Number:</label>
            <input type="text" class="form-control" id="inputSuccess2" />
            <span class="glyphicon glyphicon-search form-control-feedback"></span>
        </div>
        var x = document.getElementById("inputSuccess2").value
        <script type="text/javascript">
            function searchURL(){
            window.location = "http://www.myurl.com/search/" + (x);
                }</script>
    <div class="jrow">
        <div class="card-container">
            <div class="card card-block">
                <img src="/Images/PowerBI_65x50_rounded.png">
                <div class="card-title-container">
                        <h4 class="card-title" style="padding-left: 5px; display: inline-block;"><a href="https://app.powerbi.com/report?filter=Dashboard/Project eq 'x'">Reporting Tool</a></h4>
                </div>
                <p class="card-text">Track Forecast, Baseline, Earned and Actual Hours</p>
            </div>
        </div>
</div>
</body>
</html>
JavaScript HTML asp.net 参数传递

评论

0赞 Prerak Sola 2/23/2023
你在哪里调用函数?此外,应该在您的标签中。searchURLvar x = ...<script>
0赞 jbroutier 2/23/2023
@PrerakSola我不知道如何在链接点击时调用 searchURL,我认为这是我问题的一部分。我在脚本中移动了 var x。谢谢你的建议!
0赞 Unmitigated 2/23/2023
在函数内部移动。var x = document.getElementById("inputSuccess2").valuesearchURL

答:

0赞 Prerak Sola 2/23/2023 #1

您可以尝试如下所示的方法,当用户在文本输入之外单击时,用户将重定向。

更好的方法是添加一个 HTML 按钮并在单击时调用该函数。

编号: https://www.w3schools.com/jsref/event_onclick.asp

function searchURL() {
  var x = document.getElementById("inputSuccess2").value
  window.location = `https://app.powerbi.com/groups/me/reports/ReportSection?filter=Dashboard/Projecteq'${x}'`;
}
<div class="pageContent">
  <div class="form-group has-feedback">
    <label class="control-label" for="inputSuccess2"> Project Number: </label>
    <input type="text" class="form-control" id="inputSuccess2" onfocusout="searchURL()" />
  </div>

  <div class="jrow">
    <div class="card-container">
      <div class="card card-block">
        <img src="/Images/PowerBI_65x50_rounded.png" />
        <div class="card-title-container">
          <h4 class="card-title" style="padding-left: 5px; display: inline-block;"> <a href="https://app.powerbi.com/report?filter=Dashboard/Project eq 'x'">Reporting Tool</a>
          </h4>
          <p class="card-text">Track Forecast, Baseline, Earned and Actual Hours
          </p>
        </div>
      </div>
    </div>
  </div>

评论

0赞 jbroutier 2/23/2023
谢谢你的回答。这似乎对我来说效果很好,我遇到的唯一问题是我的 URL 是以这种方式构建的:app.powerbi.com/groups/me/reports/......“ + ”eq '“ + x + ”'“ 我需要最终结果:app.powerbi.com/groups/me/reports/......方程“x”,但不是 x,而是存储在变量 x 中的值。现在它返回一个空值 x。
1赞 jbroutier 2/23/2023
谢谢!我没有足够的代表来投票,但我已经接受了。非常感谢您的帮助。