【问题标题】:How to display Javascript Variable value to HTML href tag如何将 Javascript 变量值显示到 HTML href 标记
【发布时间】:2015-03-17 14:48:14
【问题描述】:

我正在重写我的 url 和传递给 url 的类别名称。现在我正在使用 JS 函数创建 URL 友好字符串:

function getUrlFriendlyString(str)
{
   // convert spaces to '-'
   //alert(str);
   str = str.replace(/ /g, "-");
   // Make lowercase
   str = str.toLowerCase();
   // Remove characters that are not alphanumeric or a '-'
   str = str.replace(/[^a-z0-9-]/g, "");
   // Combine multiple dashes (i.e., '---') into one dash '-'.
   str = str.replace(/[-]+/g, "-");
   return str;
}

现在在 HTML 页面上,这个 JS 函数在 JS 中给出了一个字符串值,比如

<? $cat_name= 'Personalized Chocolates / Gift'; ?>
<script>var url=getUrlFriendlyString("<?=$cat_name;?>");</script>

我想像这样在html标签href中传递var url

<a  href="<?PHP echo SITE_URL;?>/category/<script>document.write(url);</script>/<?=$data_2['cat_id'];?>"

但是

<script>document.write(url);</script>

不给他们的价值和即将到来的网址就是这样

http://localhost/ecom/category/<script>document.writeln(url);</script>/105

需要的网址是

http://localhost/ecom/category/personalized-chocolates-gift/105

知道如何使用 js 字符串显示正确的网址吗?

我可以将 var url 值保存在 PHP 变量中

【问题讨论】:

  • element.href = yourVariable;
  • 我可以在 php 中做到这一点,我也在这样做,但我希望在客户端使用更少的服务器资源。我们正在客户端转移许多可能的功能

标签: javascript html url-rewriting


【解决方案1】:

您不能在属性值的中间包含元素(例如&lt;script&gt;...&lt;/script&gt;)。

如果你打算采用这种方法,那么你需要使用 JavaScript 写出整个锚元素。

另一种方法是在 HTML 中设置默认值,然后在元素完成后出现的脚本中使用 DOM 访问元素。

更好的方法是在 PHP 中重写 getUrlFriendlyString 函数并在您的服务器上运行它。

【讨论】:

  • 非常感谢您的回答。我可以在 php 中做到这一点,我也在这样做,但我希望在客户端使用更少的服务器资源。我们正在客户端转移许多可能的功能
  • 这是一种虚假的经济。这种操作一开始很便宜(相对而言)。如今,服务器资源也很便宜。将其移至客户端会​​增加代码在多个目标环境下运行的复杂性(这会增加开发和测试成本),并增加失败的可能性(因为 JS 可能由于网络故障/垃圾邮件过滤不良/丢失移动连接/用户禁用 JS 等)。
【解决方案2】:

这对我有用

您可以在 php 变量中获取 var url 值并在您的 href 标签中使用

<? $cat_name= 'Personalized Chocolates / Gift'; ?>
<script>var url=getUrlFriendlyString("<?=$cat_name;?>");</script>

<?php
        $m="<script>document.write(url);</script>";
        echo $m; // output is : personalized-chocolates-gift
   ?>

这不会在href中给你相同的o/p,会给你o/p你的js代码,因为在$m js代码被保存并且href没有将js转换为字符串o/p

我希望这对你有用:)

【讨论】:

    【解决方案3】:

    这可以帮助你在 HTML 代码中的 JS redirectTo() 是 JS 函数

    <a onclick="redirectTo();">click here</a>
    

    【讨论】:

      猜你喜欢
      • 2013-03-21
      • 2022-11-26
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多