Javascript 意外职位

Javascript 意外职位,javascript,onclick,toggle,image,Javascript,Onclick,Toggle,Image,我的页面中有以下代码片段 <script type="text/javascript"> function expandCollapse(id){ var produtos; if(id != null){ produtos = document.getElementById("produtos_str21"); if(produtos != null){ i

我的页面中有以下代码片段

<script type="text/javascript">
      function expandCollapse(id){
        var produtos;
        if(id != null){
            produtos = document.getElementById("produtos_str21");
            if(produtos != null){ 
                if(produtos.style.display != "none"){
                    id.src="imgs/minus.png";
                    produtos.style.display = "none";
                }else{
                       id.src="imgs/plus.png";
                    produtos.style.display = "block";
                }
            }
        }
        return false;
    }
</script>
    <td>
       <input type="checkbox" name="pedidosSelected" value="str26" id="selectPedido_str26">
       <input type="image" name="" src="imgs/plus.png" onclick="javascript:expandCollapse(this)"                 id="colExpPedido_str21">
    </td>
    <td>str1</td>
    <td>str26</td>

函数(id){
var-produtos;
如果(id!=null){
produtos=document.getElementById(“produtos_str21”);
如果(produtos!=null){
如果(produtos.style.display!=“无”){
id.src=“imgs/minus.png”;
produtos.style.display=“无”;
}否则{
id.src=“imgs/plus.png”;
produtos.style.display=“块”;
}
}
}
返回false;
}
str1
str26
*->这张桌子在一张表格里

每次单击图像时,我都会像预期的那样进入expandCollapse函数,但当我输入检查显示是否为“block”或“none”的if语句时,页面会生成一个post,它不会“展开”或“折叠”表。即使我注释代码id.src=“imgs/minus.png”,也会发生post。为什么会发生post?
如果没有发生这种情况,每次我更改img的src属性时,它都会发布帖子或下载de image?如果是,我如何在两个图像之间切换,而不在每次更改src属性时下载它们。。。获取图像。如果它是缓存的,它不应该是一个完整的请求——图像不应该被返回

“图像”输入是提交。除非您从处理程序返回
false
,或者以某种方式返回
preventDefault
,否则表单将提交。
input type=“image”
是表单提交元素。您似乎没有表单,但渲染器可能正在隐式创建一个表单,以使您的HTML实际有效。然后,您没有采取任何措施来阻止表单提交


标记有什么问题?

我认为您应该去掉
onclick
字符串中的
javascript:
。这里不应该是URL,而应该是实际的javascript代码。英文单词“I”被呈现为大写字母。请花一点时间正确格式化你的帖子,并接受一些答案;这是对那些向你寻求免费帮助的人的一种基本的尊重。我太愚蠢了:)我用html:image而不是html taglib Struts中的html:img。它是渲染而不是。很抱歉浪费你的时间。非常感谢MUCHI是如此愚蠢:)我用html:image而不是html taglib Struts中的html:img。它是渲染代替。很抱歉浪费您的时间。非常感谢MUCH@tt0686:将问题分解为组成部分的一个很好的理由!