我是javascript的新手,我正在尝试根据输入的类型发生不同的事件。我的html标题中有以下内容:
<script type="text/javascript">
function validateForm(){
var val=document.getElementsByName("destination");
if (val == "deprecated"){
window.location="http://website.com/";
}
}
</script>
然后在身体中,我有以下内容:
<select name="destination">
<option value="current_builds">Current Builds</option>
<option value="deprecated">Deprecated Files</option>
<option value="mailing_list">Mailing List</option>
</select><br/>
<input type="button" value="next >" onClick="validateForm()" />
然而,这没有做任何事情。它只是停留在同一页面上。我还尝试将其包装在表单标签中,然后说:
<form name="my_form" onSubmit="validateForm()">
...
</form>
然后匹配javascript:
var val = document.forms["my_form"]["destination"].value
但这也不起作用。
任何人都能看到问题所在? 感谢。
答案 0 :(得分:4)
我修复了你的功能并进行了测试:
function validateForm(){
var val=document.getElementsByName("destination");
var theSelectedOption = val[0].options[val[0].selectedIndex].value;
if (theSelectedOption == "deprecated"){
window.location="http://website.com/";
}
}
答案 1 :(得分:3)
您需要从所选元素中获取值。由于document.getElementsByName返回一个数组,请尝试使用此
var val = document.getElementsByName("destination")[0].value
答案 2 :(得分:0)
您需要从所选选项中获取值。像这样:
var index = document.getElementsByName("destination").selectedIndex;
var val=document.getElementsByName("destination").options[index].value;
这将检索所选选项的值。
答案 3 :(得分:0)
您缺少href属性,您想使用:
window.location.href = 'URL';
答案 4 :(得分:0)
执行以下操作
<select name="destination" id="destination">
您的JavaScript
val=document.getElementsById("destination").value;
在alert(val)
中添加if
以查看是否评估为真
答案 5 :(得分:0)
尝试使用id而不是name,id是一个独特的元素。 Javascript支持
var destination = document.getElementById("destination");
if (destination.options[destination.selectedIndex].value == "deprecated"){
window.location="http://website.com/";
}
<强> HTML 强>
<select id="destination">
<option value="current_builds">Current Builds</option>
<option value="deprecated">Deprecated Files</option>
<option value="mailing_list">Mailing List</option>
</select>
<br />
<input type="button" value="next >" onclick="javascript:validateForm();" />
答案 6 :(得分:0)
尝试使用一点点jquery
<form name="my_form">
<select id="destination">
<option value="current_builds">Current Builds</option>
<option value="deprecated">Deprecated Files</option>
<option value="mailing_list">Mailing List</option>
</select><br/>
<input type="button" value="next >" id="submit">
</form>
$('#submit').click(
function validateForm(){
var e = document.getElementById("destination");
var val = e.options[e.selectedIndex].value;
if (val == "deprecated"){
window.location="http://website.com/";
}
});