0

我正在尝试使用 .innerhtml 在按钮上方输入错误消息。我想我快要让它发挥作用了,但我被困住了。我认为这是一个非常简单的语义错误,因为我是 JS 新手。

这是我的 jsfiddle:http: //jsfiddle.net/ajX2U/

var sel  = document.getElementById("stateType");

    switch(sel.value) {
        case "VA":
            location.href = "http://www.test1.com";
            break;
        case "MD":
            location.href = "http://www.test2.com";
            break;
        case "IL":
            location.href = "http://www.test3.com";
            break;
        case "TX":
            location.href = "http://www.test4.com";
            break;
        case "other":
            location.href = "http://www.test5.com";
            break;
        // oh dear we have selected a wrong option
        default:
            document.getElementById('error').innerHTML = 'Fred Flinstone';
    }
}
4

2 回答 2

0

在您的小提琴中,您只是忘记包含功能头。添加后,它对我有用。

更新的小提琴

function validate(){
    var sel  = document.getElementById("stateType");

    switch(sel.value) {
        case "VA":
            location.href = "http://www.test1.com";
            break;
        case "MD":
            location.href = "http://www.test2.com";
            break;
        case "IL":
            location.href = "http://www.test3.com";
            break;
        case "TX":
            location.href = "http://www.test4.com";
            break;
        case "other":
            location.href = "http://www.test5.com";
            break;
        // oh dear we have selected a wrong option
        default:
            document.getElementById('error').innerHTML = 'Fred Flinstone';
    }
}
于 2012-12-06T16:12:22.157 回答
0

从你的小提琴来看,这就是问题所在。

(使用 Chrome 并打开控制台,你会看到它)

<script type='text/javascript'>//<![CDATA[ 
window.addEvent('load', function() {
var sel  = document.getElementById("stateType");

switch(sel.value) {
    case "VA":
        location.href = "http://www.test1.com";
        break;
    case "MD":
        location.href = "http://www.test2.com";
        break;
    case "IL":
        location.href = "http://www.test3.com";
        break;
    case "TX":
        location.href = "http://www.test4.com";
        break;
    case "other":
        location.href = "http://www.test5.com";
        break;
    // oh dear we have selected a wrong option
    default:
        document.getElementById('error').innerHTML = 'Fred Flinstone';
}
}
var sel  = document.getElementById("stateType");
});//]]>

var sel 在错误的位置并破坏了它(无论如何是第二个 var sel)。

于 2012-12-06T16:14:31.873 回答