【问题标题】:change redirect location onClick.更改重定向位置 onClick。
【发布时间】:2017-06-21 14:58:47
【问题描述】:

我正在尝试使用附加到 URL 的复选框和使用更改后的 URL 的按钮来更改重定向链接。我仍然是 JavaScript 的初学者,对于我哪里出错了有点迷茫。

我的代码:

<html>

<form>

<div class="element1">" 
<input type="checkbox" name="name1" id="id1" value="val1" class="hidden" ></label></div> 

<div class="element2">" 
<input type="checkbox" name="name2" id="id2" value="val2" class="hidden" ></label></div> 

<div class="element3">" 
<input type="checkbox" name="name3" id="id3" value="val3" class="hidden" ></div>


<div class="element00"> 
<input type="button"onclick="myFunction(calculatedUrl());" name="button1" id="itemA" value="valA" ></label></div> 

</form>

<script>
function calculatedUrl(){
  var totalString=""
  var link1="some text"
  var link2="more  text"
  var link3="something else"

   if(document.getElementById("id1").checked == true){
     var totalString = totalString.concat(link1);

}

 if(document.getElementById("id2").checked == true){
         var totalString = totalString.concat(link2);


}

 if(document.getElementById("id3").checked == true){
         var totalString = totalString.concat(link3);

}
  return totalString

}

function myFunction(id){
 var original="http://myoriginalurl"
 var addition=id
 var new=original.concat(addition)




//for testing
  window.alert(new)

  document.getElementById("test1").innerHTML= new;


//for the real redirecting not active for now
//window.location=new
                          }




</script>


</html>

【问题讨论】:

    标签: javascript html forms url web


    【解决方案1】:

    <html>
    
    <form>
    
    <div class="element1">" 
    <input type="checkbox" name="name1" id="id1" value="val1" class="hidden" ></label></div> 
    
    <div class="element2">" 
    <input type="checkbox" name="name2" id="id2" value="val2" class="hidden" ></label></div> 
    
    <div class="element3">" 
    <input type="checkbox" name="name3" id="id3" value="val3" class="hidden" ></div>
    
    
    <div class="element00"> 
    <input type="button"onclick="myFunction(calculatedUrl());" name="button1" id="itemA" value="valA" ></label></div> 
    
    </form>
    
    <script>
    function calculatedUrl(){
      var totalString=""
      var link1="some text"
      var link2="more  text"
      var link3="something else"
    
       if(document.getElementById("id1").checked == true){
         var totalString = totalString.concat(link1);
    
    }
    
     if(document.getElementById("id2").checked == true){
             var totalString = totalString.concat(link2);
    
    
    }
    
     if(document.getElementById("id3").checked == true){
             var totalString = totalString.concat(link3);
    
    }
      return totalString
    
    }
    
    function myFunction(id){
     var original="http://myoriginalurl"
     var addition=id
     console.log(id);
     var n =original.concat(addition)
    
    
    
    
    //for testing
      window.alert(n)
    
      document.getElementById("test1").innerHTML= n;
    
    
    //for the real redirecting not active for now
    //window.location=new
                              }
    
    
    
    
    </script>
    
    
    </html>

    当前在您的代码中更改以下内容,newnewurl - new 是保留字。

    function myFunction(id){
    var original="http://myoriginalurl"
    var addition=id
    var newurl =original.concat(addition)
    //for testing
    window.alert(newurl)
    document.getElementById("test1").innerHTML= newurl;
    //for the real redirecting not active for now
    //window.location=new
    }
    

    我没有看到带有id=test1 的标签,所以你会在控制台浏览器中得到空异常。在此基础上添加标签并进行测试。

    我添加了一个sn-p,请检查。

    【讨论】:

    • 我将 new 更改为 newurl 但仍然没有变化。警报未出现且测试段落未更新。
    • 我添加了一个sn-p,请检查点击valA按钮你会得到警报
    • 我有一个 id = test1 的段落,我只是忘记将它粘贴到问题代码中。似乎它根本没有运行 myFunction 。它在计算的Url()中某处中断。谢谢你的帮助!
    【解决方案2】:

    <html>
    
    <form>
    
    <div class="element1">" 
    <input type="checkbox" name="name1" id="id1" value="val1" class="hidden" ></label></div> 
    
    <div class="element2">" 
    <input type="checkbox" name="name2" id="id2" value="val2" class="hidden" ></label></div> 
    
    <div class="element3">" 
    <input type="checkbox" name="name3" id="id3" value="val3" class="hidden" ></div>
    
    
    <div class="element00"> 
    <input type="button"onclick="myFunction(calculatedUrl());" name="button1" id="itemA" value="valA" ></label></div> 
    
    </form>
    
    <script>
    function calculatedUrl(){
      var totalString=""
      var link1="some text"
      var link2="more  text"
      var link3="something else"
    
       if(document.getElementById("id1").checked == true){
         var totalString = totalString.concat(link1);
    
    }
    
     if(document.getElementById("id2").checked == true){
             var totalString = totalString.concat(link2);
    
    
    }
    
     if(document.getElementById("id3").checked == true){
             var totalString = totalString.concat(link3);
    
    }
      return totalString
    
    }
    
    function myFunction(id){
     var original="http://myoriginalurl"
     var addition=id
     console.log(id);
     var n =original.concat(addition)
    
    
    
    
    //for testing
      window.alert(n)
    
      document.getElementById("test1").innerHTML= n;
    
    
    //for the real redirecting not active for now
    //window.location=new
                              }
    
    
    
    
    </script>
    
    
    </html>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2021-03-04
      • 2021-06-29
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多