首页 > 解决方案 > 使用 charAt() 的文本分类不起作用

问题描述

我想区分用户输入的值。

用户使用输入表单来添加值。

if'#'是用户输入的值的前面。删除'#'并重定向到 A

除了重定向到 B

我试图通过使用 charAt() 来区分这一点,但不起作用

我也不知道 .replace() 是否有效

该代码仅转到当前 URL + /?,无论我输入什么。

请帮我

<form>
  <input id="pathID" placeholder="Search ..." +
         style="height:40px; line-height:40px; padding:0 15px;"> 
  <input onclick="return findSharp()" type="submit" 
         value="Search" style="background:#222;">
</form>
<script>
  function findSharp(){
    var stringName = document.getElementById("pathID").value;
    if(stringName.charAt(0) == '#'){
      findURLA()
    } else {
      findURLB()
    }
  }
                       
  function findURLA(){
    var hashId = document.getElementById("pathID").value;
    var hashIdReplace = hashId.replace('#','');
    window.location.href = 
      'http://localhost:8181/activity-2/' + '?' + 
      'hashtag/' + hashIdReplace;
      return false;
  }
                       
  function findeURLB(){
    window.location.href = 'http://localhost:8181/';
    document.write("I AM URL B");
    return false;
  }
</script>

标签: javascripthtml

解决方案


您的代码在我身上运行良好,也经过测试,唯一的是它有一个错误:

function findeURLB(){

它应该是:

function findURLB(){

更新:

你可以试试这个


推荐阅读