2012-03-15 54 views
-3

IE 7的奇怪行为,所有其他浏览器显然工作正常!IE7对象预计

如果我点击复选框,它会返回:预期的对象。

http://jsfiddle.net/EnYVZ/1/

任何想法,为什么?

代码:

<div class='tile' onclick=checkbox('95991285')> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 
+3

它无法在所有浏览器,因为你根本就没有所谓的功能“复选框”。这不是原生JavaScript功能。 – 2012-03-15 11:55:40

+1

你检查过多少个浏览器? Firefox说:“复选框未定义”。这工作正常吗? – 2012-03-15 11:56:17

+1

认真地说,现在你想用这个代码来实现什么?也许我们可以帮忙。也许我们可以建议使用'

回答

0

我得到了解决方案。我这个线程引用:

How do I make a checkbox toggle from clicking on the text label as well?

我的原代码:

<div class='tile' onclick=checkbox('95991285')> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 

我删除了这一点:onclick=checkbox('95991285')

我的代码是采取更多的资源和将它们连接在一起的结果。 它与所有的浏览器,除了IE 7和更低的工作,我想明白为什么。

我是JavaScript的初学者,我假设onclick复选框是本机函数,但事实并非如此。

工作代码:

<div class='tile'> 
<label for='95991285'> 
<div> 
<input style='vertical-align:middle' type='checkbox' name='frnd[]' value='95991285' id='95991285' checked='checked' /> 
<img style='vertical-align:middle' src='http://s13.postimage.org/je9k86un7/img.jpg'> 
<p>full name</p> 
</div> 
</label> 
</div>​ 
2

你不必定义一个复选框功能。您试图用此语句调用函数

checkbox('1000015175634') 

但是该函数不存在。

还有一些其他小问题,可能可以通过验证器运行代码来帮助...但这是最大的问题。

的代码也许应该是这个样子:

<div class="tile" onclick="checkboxAction('a1000015175634')">  
    <input type="checkbox" value="a1000015175634" id="a1000015175634" checked="checked" />  
    <p>name</p> 
</div> 

<script> 
    function checkboxAction(inputBox) { 
     // something with inputBox 
    } 
</script>​ 

究竟是什么这个应该做的事情?

+0

打开大括号应该总是包含JavaScript中的函数语句。 – danwellman 2012-03-15 14:37:31

+0

@danwellman为什么? (我不是说他们不应该......我只是不确定理由是什么。) – Beska 2012-03-15 16:55:08

+0

@danwellman Nevermind ...快速搜索很快就找到了答案。 http://encosia.com/in-javascript-curly-brace-placement-matters-an-example/现在已修复。 – Beska 2012-03-15 16:57:42