javascript - 如何根据所做的决定设置指向按钮的链接?

标签 javascript html css

我想要的是,如果用户决定使用多个设置值,那么“下一步”按钮将获得指向不同页面的不同链接。

  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>

所以最后两行是下一个和后退按钮。如果用户选择多组容器,我想为下一个按钮提供 multiSet.html 值。

最佳答案

您需要向我们展示您的 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");

关于javascript - 如何根据所做的决定设置指向按钮的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17492395/

相关文章:

php - Jquery .change 函数使用复选框多次触发

javascript - 使用 eval 函数访问数组

javascript - 类正在 while 循环中的所有结果下加载图像

jquery - 自定义 HTML5 视频控件 - 仅显示静音按钮

javascript - html 折叠/伸展树(Splay Tree)

css - 一个元素上有多个类名的奇怪行为?

javascript - 旋转后使文本适合 div 容器

javascript - 为什么我不能将属性值分配给对象声明中的以下属性?

javascript - 通过拖放附加文件时 FormData 发送空白文件字段

php - 如何生成动态外部链接?