Javascript 以下代码为don';不能在其他浏览器上工作
您好,我有一些测试/测验的代码,它不能在google chrome、Internet Explorer和除Mozilla Firefox之外的其他浏览器上正确运行。 有人能帮我吗? 下面的代码将向您显示特定的问题,如果单击,您将看到它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
<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>