-1

在我的表单中有一个下拉列表,单击按钮时我需要打开 2 个 URL,如果用户选择选项 1,则在单击按钮后会出现一个感谢页面,并且应该打开另一个 URL。

我目前只能打开一个 URL。请看看我的小提琴。

http://jsfiddle.net/ty65E/5/

此外,在我的页面中,按钮很少,我希望它们最初应该被禁用,这样它们就不再起作用了。我想强制用户先填写表格,然后只有他可以访问其他按钮。

伙计们感谢您的支持。

4

2 回答 2

1

您可以存储多个 URL,用类似的东西分隔它们'|',然后用于split创建 URL 列表。第一个值将始终存在(如果您只有一个 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"

于 2012-05-28T10:33:14.123 回答
1

您可以尝试的一件事是从选择选项中调用 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/上试过

希望这可以帮助

于 2012-05-28T11:39:16.687 回答