根据选项框更改链接

时间:2012-09-09 16:39:48

标签: html twitter-bootstrap

我正在构建一个网页,用于使用bootstrap下载我的一个应用程序。我正在尝试制作一个下载页面,并在其上有一些选项,我需要根据选择的选项更改下载链接。我有gui,但我真的不知道如何改变链接。

到目前为止我的代码是这样的:

http://jsfiddle.net/xdragonforce/2fta6/

谢谢!

2 个答案:

答案 0 :(得分:3)

您通常使用表单传递这些参数,并让服务器解析URL参数并发送/重定向到相应的文件。这不是HTML的工作。

你需要:

  • 使用提交到服务器端(PHP,ASP等)页面的<form>元素,该页面可以处理它。
  • 提供<select>元素name=属性,表示其在表单中的滚动。
  • 在处理页面上,您可以获取用户选择的表单参数,处理它们,确定要提供的文件的正确版本,并提供它(或重定向到提供它的页面)。 / LI>

答案 1 :(得分:1)

这样的事情可以实现你的要求。

<!DOCTYPE html>
<html>
<head>
<script>
function changeLink(newHref)
{
    downloadBtn.href = newHref;
    if (newHref == "")
        downloadBtn.setAttribute('disabled', 'true');
    else
        downloadBtn.setAttribute('disabled', 'false');
}
</script>
<style>
#downloadBtn
{
    text-decoration: none;
    background-color: #49AFCD;
    padding: 4px;
    cursor: pointer;
    border-radius: 4px;
    color: white;
}
#downloadBtn:hover
{
    background-color: #2F96B4;
}
</style>
</head>
<body>
    <h2>Select your device</h2>
    <select id='m_List1' onchange='changeLink(this.value);'>
        <option value="" selected>Select an device type</option>
        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521N_iPhone2G.zip/download">iPhone 2G (521N)</option>
        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521U_iPhone2G.zip/download">iPhone 2G (521U)</option>

        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521N_iPhone3G.zip/download">iPhone 3G (521N)</option>
        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521U_iPhone3G.zip/download">iPhone 3G (521U)</option>

        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521_iPodTouch1G.zip/download">iPadTouch 1G</option>
        <option value="http://sourceforge.net/projects/whited00r/files/5.2.1/Whited00r_521_iPodTouch2G.zip/download">iPadTouch 2G</option>
    </select>
    <a id='downloadBtn' disabled='true'>Download »</a>
</body>
</html>