我正在尝试创建一个下载页面,用户可以在其中从下拉列表中选择他们想要的项目,在此过程中,页面应该根据他们选择的内容在文本区域中生成文本,这是一个很小的内容他们选择的文件的 HTML 格式描述。然后我希望有一个“下载!”按钮,单击该按钮将检查下拉列表中的值,然后将用户带到 mega 托管的下载。 我有如何使文本生成工作的基本想法,但是由于某种原因,我的 if 语句似乎毫无用处;我无法让它在文本区域中生成任何文本,并且我不知道如何将其链接到按钮。我提前道歉,这是相当模糊和 LQ 代码(与 JS 相比,我更喜欢 PHP/python)。
这是我到目前为止所拥有的:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'>
var file;
function ChooseDownload()
{
if(document.getElementById("item").value == "Shell"){
document.getElementById("what").value="You selected Shell";
file = "http://mega.co.nz/[file]";
}
else if(document.getElementById("item").value == "Bot"){
document.getElementById("what").value="You selected Sources";
file = "http://mega.co.nz/[file2]";
}
}
</script>
</head>
<body>
<h5><p>Please Select File to download:</p></h5>
<p>
<form>
<select name="item" onchange="ChooseDownload()">
<option value="Blank">Select Download</option>
<option value="Shell">My PHP Shells</option>
<option value="Bot">Botnet Sources</option>
<option value="Skype">Skype 6.9 Win</option>
<option value="Xchat">Xchat Free</option>
<option value="Cod5">Custom Maps</option>
</select>
</form>
<p><form method="get" action="url">
<button type="submit">Download!</button>
</form> </p>
</p>
<p> </p>
<p><br>Contents:<br><textarea name='what' rows='15' cols='60'></textarea><br/></p>
</body>
</html>
感谢您的任何想法/帮助。
最佳答案
您的问题是您需要将某种参数传递给 ChooseDownload 函数,基于此您可以做出决定。
试试这个:
function ChooseDownload(selected)
{
switch(selected.value){
case "Shell":
//some action
break;
case "Bot":
//some action
break;
case "Skype":
//some action
break;
case "Xchat":
//some action
break;
case "Cod5":
//some action
break;
default:
//unknown option
break;
}
}
以及您的 HTML:
<select id="item" onchange="ChooseDownload(this)">
<option value="Blank">Select Download</option>
<option value="Shell">My PHP Shells</option>
<option value="Bot">Botnet Sources</option>
<option value="Skype">Skype 6.9 Win</option>
<option value="Xchat">Xchat Free</option>
<option value="Cod5">Custom Maps</option>
</select>
关于javascript - 制作 javascript 下载页面时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523676/