在我的表单中有一个下拉列表,点击按钮我需要打开2个URL,如果用户选择选项1,则在按钮单击后会出现一个感谢页面,另一个URL应该打开。
我目前只能打开一个网址。请看看我的小提琴。
另外在我的页面中有几个按钮,我希望他们应该初始禁用,这样他们就不再烦恼了。我想强制用户先填写表格,然后才能访问其他按钮。
感谢您的支持。
答案 0 :(得分:1)
您可以使用'|'
之类的内容存储多个网址,然后使用split
创建网址列表。第一个值将始终存在(如果您只有一个url,split将生成一个包含单个元素的数组),第二个值将仅存在于您指定了两个URL的选项中。
<option value="google.com|stackoverflow.com">Two URLs</option>
val = val.split('|');
window.open(val[0]);
if ( val.length > 1 )
window.open(val[1]);
至于您的其他问题,请在按钮上添加disabled
属性,并添加到必须填写的每个输入中:
$(selector_with_all_fields).change(function() {
var allFilled = true;
$(selector_with_all_fields).each(function() {
allFilled = allFilled && $(this).val() !== "";
});
$(my_buttons).attr("disabled",allFilled); // If that doesn't work, try removeAttr when allFilled is false
});
请记住在HTML中使用"disabled"="true"
启动它们。
答案 1 :(得分:1)
您可以尝试的一件事是从select选项调用onchange函数。我认为它更清洁,并会在以后帮助你。这是我试过的
<select name="interest_c" id="interest_c" class="required" onchange="report(this.value)">
<option selected="selected" value="">Indicate your interest...</option>
<option value="1">I want a Free Trial</option>
<option value="2">I want to see a pre-recorded demo</option>
</select>
<script type="text/javascript">
function report(selectval) {
switch(parseInt(selectval)) {
case 1:
window.open("http://www.stackoverflow.com");
window.open("http://www.google.com");
break;
case 2:
window.open("http://www.facebook.com");
window.open("http://www.php.net");
break;
}
}
</script>
我在jsfiddle http://jsfiddle.net/eXSND/
上试了一下希望这会有所帮助