【问题标题】:convert input button into a href将输入按钮转换为href
【发布时间】:2021-10-21 03:26:20
【问题描述】:

如何创建此链接的​​ href 链接:

echo "<td><input type='button' class='btn btn-link text-dark' value='{$val_str}' onclick='redirect(\"{$value}\")'></td>";

因为我认为 google 不会索引按钮输入类型?

我试过了:

echo "<td><a href='redirect(\"{$value}\")'>{$val_str}</a></td>";

但这不起作用

【问题讨论】:

  • 顺便说一句,这是网站页面,internetspeedtest.info/en/world,但我不确定我是否可以在这里发布
  • $value 中的值是多少?据我所知,引用的网站有按钮,但没有redirect 功能。但我确实看到了https://internetspeedtest.info/nl/redirect(%22Belgium%22) 形式的超链接~
  • 根据引用网站上的观察,看起来超链接可能只是 &lt;a href='/nl/land/{$value}'&gt;{$val_str}&lt;/a&gt; - 当然如果没有特别需要 Javascript
  • @ProfessorAbronsius 是的,这行得通。但我也添加了这个function redirect(country) { location.href = 'country/' + country; } 所以我不知道我还需要什么来硬编码 /country/ 文本
  • 最喜欢的方法是为这些类型的链接注册一个外部事件侦听器,而不是在 HTML 标记中嵌入 inline 事件处理程序。

标签: php html echo href


【解决方案1】:

没有“硬编码”链接,我认为您的评论建议使用 Javascript,您可以使用与此类似的方法。

const redirect=function(event){
    event.preventDefault();
    
    let baseurl='https://internetspeedtest.info/en';
    let url=[ baseurl, 'country', this.textContent.replace(/\ /gi,'_') ].join('/');
    
    location.href=url;
};


document.querySelectorAll('a.country').forEach(a=>{
  // display a simple title
  a.title='View stats for: '+a.textContent;
  
  // assign the event handler
  a.addEventListener('click',redirect)
})
<a href='#' class='country'>India</a>
<a href='#' class='country'>Belgium</a>
<a href='#' class='country'>United States</a>
<a href='#' class='country'>Norway</a>

【讨论】:

    猜你喜欢
    • 2021-05-25
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2014-09-20
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多