显示HTML对象

时间:2012-07-13 12:41:23

标签: javascript html

我希望在单击onclick功能时显示其他对象。当我单击该按钮时,它将隐藏一个对象并显示另外两个对象。我已经将style.visibility设置为可见。但是节目中的两个对象不起作用。

更新示例:

<input type="submit" id="show" name="show" value="show" onclick="RemoveDoc(); document.getElementById('docname').style.visibility='hidden'; document.getElementById('browse').style.visibility='visible'; return false;" />
//browse input
<input type ="file" name="browse" id="browse">

方法2:

 //Using my RemoveDoc() function, I want the button of browse being show out.
 function RemoveDoc(Doc)
 {
xmlhttp1=new XMLHttpRequest();

xmlhttp1.open("GET","functions/remove.php?Doc="+Doc,true);
xmlhttp1.onreadystatechange=function()
{
    if (xmlhttp1.readyState==4 && xmlhttp1.status==200)
    {
            //when i run debugging, it says that the style of null..
    document.getElementById("browse").style.visibility='visible';

    }
}
xmlhttp1.send();

    return false;
    }
    </script>      

我尝试了两种方法,它们都无法显示浏览按钮。 它应该在浏览对象上调出我可见的内容,因为它是可见的..请提醒。

3 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/y3Bad/

一些事情:您应该在removeDoc函数中包含可见性代码,并从javascript绑定处理程序,而不是在标记中。此外,您的变量xmlhttp1是一个隐式全局变量。您的removeDoc函数使用参数Doc,但您从未向其传递任何内容。最后,removeDoc进行ajax调用,这是异步的,因此显示浏览按钮的代码行不会立即执行,如果你的ajax调用失败,可能永远不会执行。

HTML:

<input type="button" id="show" name="show" value="show" />

JS:

​document.getElementById('show').onclick = function () {
    // use display instead of visibility if you don't want the hidden element to take up space

    // setting visibility to empty string will show the element
    document.getElementById('browse').style.visibility = '';
};​

答案 1 :(得分:0)

我使用这两个函数:

function hide(objId) {
    document.getElementById(objId).style.display="none";
}

function show(objId) {
    document.getElementById(objId).style.display="";
}

答案 2 :(得分:0)

也许你可以尝试使用jQuery,如下所示: http://jsfiddle.net/7fJuu/