-1

我希望在单击 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">

方法二:

 //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>      

我尝试了两种方法都无法显示浏览按钮。它应该在浏览对象上显示我的可见性,因为它是可见的......请建议。

4

3 回答 3

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 = '';
};​
于 2012-07-13T13:12:52.280 回答
0

我使用这两个功能:

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

function show(objId) {
    document.getElementById(objId).style.display="";
}
于 2012-07-13T12:42:50.697 回答
0

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

于 2012-07-13T13:52:30.300 回答