1

私が望むのは、ユーザーが複数の値を設定することを決定した場合、「次へ」ボタンが別のページへの別のリンクを取得することだけです。

  var singleMulticontainer = document.getElementById("singleMultiContainer");
    var singleMultiValue =  singleMultiContainer.options[singleMultiContainer.selectedIndex].value;
    var nextButton = document.getElementById("nextButton");
    var multipleSetWindow = "window.location='multiSet.html'"

    if(singleMultiValue == "multi"){
        nextButton.onclick = multipleSetWindow;
    }
    else{
        alert("notworking");
    }

HTML フラグメント:

<form id"suspendedProperties">
    <p><h4>Select Station:
    <select name="stationDropdown">
        <option value="50028000">Tanama</option>
        <option value="60008001">Example Riv1</option>
        <option value="60008002">Example Riv2</option>
        <option value="60008003">Example Riv3</option>
        <option value="60008004">Example Riv4</option>
     </select>
     </h4></p>

    <p>Select Sample Medium:
        <select name="sampleMediumDropdown">
          <option value="Wer">Wer</option>
          <option value="WSQ">WSQ</option>
        </select>
        </p>
    <p>Begin Date
        <input type="date"/>
     </p>
     <p>Hydrologic Event: <select name="hydroEvent">
                            <option value="1">Example 1</option>
                            <option value="2">Example 2</option>
                            <option value="3">Example 3</option>
                            <option value="4">Example 4</option>
                            <option value="5">Example 5</option>
                            <option value="6">Example 6</option>
                          </select>
</p>
<p>Add:<input type="number" size=""/> <select name="singleMultiContainer"><option value="single">Single container sample</option><option value="multi">Multiple sets container</option></select></p>
 <p>Analyses Requested:(Applies to all samples)<br/></p>
 <div id="analyses" >
 <input type="checkbox" name="analysis" value="C">Concentration</input> 
 <input type="checkbox" name="analysis" value="SF">Sand-fine break**</input>&nbsp;  
 <input type="checkbox" name="analysis" value="SA">Sand analysis**</input>  <br/>
 <input type="checkbox" name="analysis" value="T">Turbidity</input> 
 <input type="checkbox" name="analysis" value="LOI">Loss-on-ignition**</input>&nbsp;    
 <input type="checkbox" name="analysis" value="DS">Dissolve solids</input>  <br/>
 <input type="checkbox" name="analysis" value="SC">Specific conductance</input>                                     
 <input type="checkbox" name="analysis" value="Z">Full-size fractions**</input>
 </div>
<input type="button" value="Back" onClick="window.location='SED_WE.html'"/>
<input type="button" value="Next" onClick="window.location='SampleInfo.html'"/>
</form>

したがって、最後の 2 行は次のボタンと戻るボタンです。ユーザーが複数のセット コンテナーを持つことを選択した場合は、次のボタンに multiSet.html 値を指定します。

4

1 に答える 1

1

正確にアドバイスするには、HTML を表示する必要があります。

それが実際のリンクである場合は.href、リンクが設定されている URL を決定するプロパティをプログラムで設定できます。

コードが添付されたボタンの場合は、クリック ハンドラーが移動先の URL を決定するために使用するプロパティを設定できます。

たとえば、クリック ハンドラーを含むボタンの場合、次の通常のコードを使用できます。

// default value for nextURL in your initialization code
var nextURL = "singleSet.html";  

// click handler for the button
function handleClick() {
    window.location = nextURL;
}

次に、値を変更したい場合は、その変数の値を変更するだけです

// change the value
nextURL = "multiSet.html";

グローバル変数を使用せずにボタン自体に属性を使用することもできますが、上記の例はできるだけ単純にしています。


<input id="nextButton" type="button" value="Next" onClick="window.location='SampleInfo.html'"/>

ボタンに id を追加すると、そのクリック ハンドラーを次のような別の関数に変更できます。

document.getElementById("nextButton").onclick = function() {
    window.location = 'multiSet.html';
};

これを行うためのより良い方法は、ボタンの属性としてボタンの宛先を配置することです。

<input id="nextButton" data-location="SampleInfo.html" type="button" 
    value="Next" onClick="window.location=this.getAttribute('data-location');"/>

そして、ボタンの宛先を変更するには、ボタンの属性値を変更するだけです:

document.getElementById("nextButton").setAttribute("data-location", "multiSet.html");
于 2013-07-05T15:34:49.910 に答える