2016-04-12 16 views
0

クリックするボタンに基づいてURLパラメータを変更しようとしています。ここで私は、画面をクリックされたボタンに応じて表示内容を変更するためにいくつかのJavaScriptの設定:URLパラメータを変更する

  <!--VT How many Questions--> 
      <div style="position:absolute" id="Questions" > 
       <h4>How many questions were on the ballot?</h4> 
       <input name="votingDist" type="radio" value="-1"=> Short: 1-3 questions<br> 
       <input name="votingDist" type="radio" value="0"> Medium: 4+ qustions<br> 
       <input name="VTMean" value="61.11"; style= "visibility:hidden;" type="text" style="width:100%"> 
       <input name="VTMean" value="128.69"; style= "visibility:hidden;" type="text" style="width:100%"> 
       <input name="VTStd" value="-1"; style= "visibility:hidden;" type="text" style="width:100%"> 
      </div> 

      <!-- VT Input Data Manually--> 
      <!--CT Default--> 
      <div style=" visibility:hidden; position:absolute" id="Manual" > 
       <input name="votingDist" value="1"; style= "visibility:hidden;" type="text" style="width:100%"> 
       <table class="table table-bordered table-striped"> 
        <thead> 
         <tr> 
          <th> 
           Mean 
          </th> 
          <th> 
           Standard Deviation 
          </th> 
         </tr> 
        </thead> 
        <tbody> 
         <tr> 
          <th> 
           <input name="VTMean" type="text" style="width:100%"> 
          </th> 
          <th> 
           <input name="VTStd" type="text" style="width:100%"> 
          </th> 
         </tr> 
        </tbody> 
       </table> 
      </div> 


      <!-- Load Data from File--> 
      <div style="visibility:hidden; position:relative" id="Load"> 
       <h4>Load Data from File</h4> 
       <input name="arrivalFile" type="file" name="fileField"><br> 
      </div> 

問題:私は私のURLパラメータを設定していますどこ

<script language="Javascript"> 
    //How many Questions 
    function Questions(){ 
     document.getElementById("Questions").style.visibility="visible"; 
     document.getElementById("Manual").style.visibility="hidden"; 
     document.getElementById("Load").style.visibility="hidden"; 
    } 
    //Manual 
    function Manual(){ 
     document.getElementById("Questions").style.visibility="hidden"; 
     document.getElementById("Manual").style.visibility="visible"; 
     document.getElementById("Load").style.visibility="hidden"; 
    } 

    //Load Data from Form 
    function Load(){ 
     document.getElementById("Questions").style.visibility="hidden"; 
     document.getElementById("Manual").style.visibility="hidden"; 
     document.getElementById("Load").style.visibility="visible"; 
    } 
</script> 


<!--VT Buttons--> 
<div id="enterDataToggle" class="btn-group" data-toggle="buttons" > 

<!--VT Defualt--> 
<label class="btn btn-default active" id="checkin-label" 
    <input type="radio" checked onClick="Questions()"> 
    Default 
</label> 

<!--VT Input Data Manually--> 
<label class="btn btn-default active" id="checkin-label" 
    <input type="radio" onClick="Manual()"> 
     Input Data Manually 
</label> 

<!--VT Load Data from File--> 
<label class="btn btn-default active" id="checkin-label" 
    <input type="radio" onClick="Load()"> 
     Load Data from File 
    </label> 

そしてここにはあります私のURLは繰り返しのパラメータで出て来ていますか:http://localhost:8080/CrunchifyJSPServletExample/CrunchifyServlet?votingDist=-1&VTMean=61.11&VTMean=128.69&VTStd=-1&votingDist=1&VTMean=200&VTStd=20

私はパラメータの値を置き換える方法を見つけようとしていますfferentボタンをクリックします。これを行う方法はありますか?どんな助けも高く評価されます! :)

+0

ローカルホストにアクセスできません:)、フィドルを作成します。 – theblindprophet

+1

URLパラメータを追加するコードはどこですか? – BrunoLM

+0

このコードを試してください。 http://cwestblog.com/2013/05/21/javascript-modify-url-parameters/ – CodeMonkey

答えて

0

オブジェクトを使用してプロパティを設定できます。したがって、再度設定すると値が上書きされます。その後、URLパラメータ形式に変換することができます

var params = {}; 

params['votingDist'] = -1; 
params['votingDist'] = 2; 

params['VTMean'] = 200; 
params['VTMean'] = 300; 

var urlParamsToSet = Object.keys(params) 
    .reduce((a, b) => `${a}${a ? '&' : '?'}${b}=${params[b]}`, ''); 
// ?votingDist=2&VTMean=300 

その後、URLを変更するurlParamsToSetを使用しています。

+0

これはまさに私がやろうとしていることですが、私はどのようにこれを私のコードで使うのですか?私はjavascriptでそれを入れてみましたが、URLに何かを追加することはできません。ご協力いただきありがとうございます! –