Javascript 以下代码为don';不能在其他浏览器上工作

Javascript 以下代码为don';不能在其他浏览器上工作,javascript,html,Javascript,Html,您好,我有一些测试/测验的代码,它不能在google chrome、Internet Explorer和除Mozilla Firefox之外的其他浏览器上正确运行。 有人能帮我吗? 下面的代码将向您显示特定的问题,如果单击,您将看到它 <div id="showDiv" style="display:none;" class"answer_radio" > <form action=""> <input type="checkbox" name="vehicle

您好,我有一些测试/测验的代码,它不能在google chrome、Internet Explorer和除Mozilla Firefox之外的其他浏览器上正确运行。 有人能帮我吗? 下面的代码将向您显示特定的问题,如果单击,您将看到它

<div id="showDiv"  style="display:none;" class"answer_radio" > 
<form action="">
<input type="checkbox" name="vehicle" value="drive">Do you drive Volvo?<br>
<input type="checkbox" name="vehicle" value="love">Do you love Volvo? 
</form></div>
<div id="placeDiv" style="display:none;" class"answer_radio" > 
<form action="">
<input type="checkbox" name="vehicle" value="drive">Do you drive Saab?<br>
<input type="checkbox" name="vehicle" value="love">Do you love Opel? 
</form></div>
<div id="makeDiv" style="display:none;" class"answer_radio" > 
<form action="">
<input type="checkbox" name="vehicle" value="drive">Do you drive Opel?<br>
<input type="checkbox" name="vehicle" value="love">Do you love Opel? 
</form></div>
<div id="createDiv" style="display:none;" class"answer_radio" > 
<form action="">
<input type="checkbox" name="vehicle" value="drive">Do you drive Audi?<br>
<input type="checkbox" name="vehicle" value="love">Do you love Audi? 
</form></div>
<select id="car" value="Show Div" >
<option value="volvo" name="volvo" onclick="showDiv()">Volvo</option>
<option value="saab" name="saab" onclick="placeDiv()">Saab</option>
<option value="opel" name="opel" onclick="makeDiv()">Opel</option>
<option value="audi" name="audi" onclick="createDiv()">Audi</option>
</select>

你开沃尔沃吗?
你喜欢沃尔沃吗? 你开萨博吗?
你喜欢欧宝吗? 你开欧宝吗?
你喜欢欧宝吗? 你开奥迪吗?
你喜欢奥迪吗? 沃尔沃汽车 萨博 欧宝 奥迪
以及以下javascript代码:

<script>
function showDiv() {
document.getElementById('showDiv').style.display = "block";
document.getElementById('placeDiv').style.display = "none";
document.getElementById('makeDiv').style.display = "none";
document.getElementById('createDiv').style.display = "none";   
}
function placeDiv() {
document.getElementById('placeDiv').style.display = "block";
document.getElementById('showDiv').style.display = "none";
document.getElementById('makeDiv').style.display = "none";
document.getElementById('createDiv').style.display = "none";   
}
function makeDiv() {
document.getElementById('makeDiv').style.display = "block";
document.getElementById('showDiv').style.display = "none";
document.getElementById('placeDiv').style.display = "none"
document.getElementById('createDiv').style.display = "none";
}
function createDiv() {
document.getElementById('createDiv').style.display = "block";
document.getElementById('showDiv').style.display = "none";
document.getElementById('placeDiv').style.display = "none";
document.getElementById('makeDiv').style.display = "none";
}
</script>

函数showDiv(){
document.getElementById('showDiv').style.display=“block”;
document.getElementById('placeDiv').style.display=“无”;
document.getElementById('makeDiv').style.display=“无”;
document.getElementById('createDiv').style.display=“无”;
}
函数placeDiv(){
document.getElementById('placeDiv').style.display=“block”;
document.getElementById('showDiv').style.display=“无”;
document.getElementById('makeDiv').style.display=“无”;
document.getElementById('createDiv').style.display=“无”;
}
函数makeDiv(){
document.getElementById('makeDiv').style.display=“block”;
document.getElementById('showDiv').style.display=“无”;
document.getElementById('placeDiv').style.display=“无”
document.getElementById('createDiv').style.display=“无”;
}
函数createDiv(){
document.getElementById('createDiv').style.display=“block”;
document.getElementById('showDiv').style.display=“无”;
document.getElementById('placeDiv').style.display=“无”;
document.getElementById('makeDiv').style.display=“无”;
}
正如你所看到的,这就是所有的代码。 首先在Mozilla中运行,然后在Internet explorer或Google chrome中运行,如果有人能提供帮助,请:(。
谢谢!

跨浏览器不可靠地支持
选项
元素上的
单击事件

使用
select
元素上的
change
事件(这也将消除大量重复代码)请注意,正如RobG在下面指出的,在某些浏览器上,如果用户使用光标键在选项列表中移动,
change
将立即触发;其他浏览器在选择框失去焦点之前不会触发它

下面是一个例子:


例子
你开沃尔沃吗?
你喜欢沃尔沃吗? 你开萨博吗?
你喜欢欧宝吗? 你开欧宝吗?
你喜欢欧宝吗? 你开奥迪吗?
你喜欢奥迪吗? 沃尔沃汽车 萨博 欧宝 奥迪 (功能(){ //获取选择框 var select=document.getElementById(“car”); //挂起更改事件 select.onchange=无手选车; //设置“选择”的默认值 无手选车(); //用于处理汽车设置的功能 功能无手柄选车(){ var name=select.value; //用显示/隐藏div的代码替换以下内容 var p=document.createElement('p'); p、 innerHTML=“当前选定的车辆:”+名称; 文件.正文.附件(p); } })();
您可以使用
选择
JavaScript
,如下所示。 它将在所有浏览器中工作

 <select name="type" onmousedown="this.value='';" onchange="alert('Changed.');">
      <option value='1'>One</option>
      <option value='2'>Two</option>
      <option value='3'>Three</option>
      <option value='4'>Four</option>
    </select>

一个
两个
三
四


函数changeHandler(目标){
警报(目标值);
}
一个
两个
三
四
已更新

<script type="text/javascript">
function changeHandler(target){
    if(target.value == "Mustang" ){
        document.getElementById('div_id_Mustang').style.display = "block";
    }
    if(target.value == "Viper" ){
        document.getElementById('div_id_Viper').style.display = "block";
    }
    if(target.value == "Corvette" ){
        document.getElementById('div_id_Corvette').style.display = "block";
    }
}
</script>
<select id="cars" onchange="changeHandler(this);">
  <option value="Mustang">Mustang</option>
  <option value="Viper">Viper</option>
  <option value="Corvette">Corvette</option>
</select> 

函数changeHandler(目标){
如果(target.value==“野马”){
document.getElementById('div_id_Mustang').style.display=“block”;
}
如果(target.value==“毒蛇”){
document.getElementById('div\u id\u Viper').style.display=“block”;
}
如果(target.value==“Corvette”){
document.getElementById('div_id_Corvette').style.display=“block”;
}
}
野马
毒蛇
克尔维特

@LOL:onclick
属性的大写与否无关。是的,我认为这是Div或javascript的问题。对于未来的建议,请尝试将代码张贴在问题所在的位置。长代码有时会留下未回答的问题。让它与其他人相关。“不工作”不是问题描述。告诉问题是什么。如果我使用“更改”并将其替换为“选择”,我现在将有一个下拉菜单…@user3537210:“如果我使用“更改”并将其替换为“选择”…“嗯?”…我现在将有一个下拉菜单”您的意思是下拉选择吗?您已经有了。请注意,在IE中,如果用户使用光标键导航选项,则每次选择新选项时都会发送一个更改事件,而其他浏览器在选择失去焦点之前不会触发更改。是的,但是在哪里可以使用此“更改”你回答了我我不明白you@user3537210:我添加了一个示例。不,如果我更改了它,它将与我想做的有很大不同。我不想更改此代码。我想保留此代码,但只是添加一些有助于在其他浏览器中运行的内容。@user3537210:这没有意义。“我不想更改此代码”“我希望它能在其他浏览器中工作”是不兼容的语句。要在其他浏览器中工作,您必须更改代码。是的,但我不想显示黑屏并告诉我我选择了2。我想像我的第一个代码一样…@user3537210是的,这没有意义。您必须根据您的要求更改代码。我们只能为您提供帮助,不能为您编写。这是一个反对这样的规则。所以请不要尝试填鸭式喂养。好的,没问题。你必须搜索更多内容或等待其他答案。你的邮政编码太长。请将其与其他人相关。
<script type="text/javascript">
function changeHandler(target){
    alert(target.value);
}
</script>
<select id="abc" onchange="changeHandler(this);">         
      <option value='1'>One</option>
      <option value='2'>Two</option>
      <option value='3'>Three</option>
      <option value='4'>Four</option>

</select> 
<script type="text/javascript">
function changeHandler(target){
    if(target.value == "Mustang" ){
        document.getElementById('div_id_Mustang').style.display = "block";
    }
    if(target.value == "Viper" ){
        document.getElementById('div_id_Viper').style.display = "block";
    }
    if(target.value == "Corvette" ){
        document.getElementById('div_id_Corvette').style.display = "block";
    }
}
</script>
<select id="cars" onchange="changeHandler(this);">
  <option value="Mustang">Mustang</option>
  <option value="Viper">Viper</option>
  <option value="Corvette">Corvette</option>
</select>