2

在我的文件上传字段页面中,我在 javascript 中设置了属性样式,如下所示

choicefile.setAttribute("style", "width: 86px;
                                  position: absolute;
                                  margin-left: 83px;  //This pixels shows the upload field in a correct place
                                  margin-top: 90px;  // This pixels shows the upload field in a correct place
                                  z-index: 1;
                                  opacity: 0;");

但在 Firefox 中,它显示文件上传在错误的位置。在 Firefox 中,如果我们将这两个属性更改为

choicefile.setAttribute("style", "width: 86px;
                                  position: absolute;
                                  margin-left: 35px;  //In Firefox it is the correct pixels
                                  margin-top: 150px;  //In Firefox it is the correct pixels
                                  z-index: 1;
                                  opacity: 0;");       

我怎么解决这个问题。任何人都可以帮助解决这个问题。提前致谢

我的网址是

http://mytest.php?id=2&mview=69

单击添加新条目后,文件上传器显示在正确的位置,但在 Firefox 中显示在错误的位置。

<form name="choiceadd" action="" method="post" enctype="multipart/form-data" onsubmit="return validationaddchoice();">
<span id="addnewcontain">
</span>
<input type="hidden" name="choicecount" value="0" />
<div class="four" style='margin-top:40px;'>
<input type="button" value="Add New Entry" onclick="addnewchoice(document.forms['choiceadd']['choicecount'].value)" >
</div>
<div class="five">
<input type="submit" name="choiceaddsubmit" class="choiceaddsubmit" />
</div>
</form>

以上是主页面中的表格。当点击这个按钮时,函数 addchoice 被调用,它包括上面提到的choicefile 属性样式

功能是

function addnewchoice(val)
{choicefile.setAttribute("style", "width: 86px; position: absolute; margin-left: 83px; margin-top: 90px; z-index: 1; opacity: 0;");
}
4

2 回答 2

2

而不是像这样设置样式,您可以像下面那样进行完全跨浏览器兼容性。分配每个样式属性,如下所示

而不是设置样式

function addnewchoice(val)
{   
   choicefile.setAttribute("style", "width: 86px; position: absolute; margin-left: 83px; margin-top: 90px; z-index: 1; opacity: 0;");
}

您可以这样设置以实现跨浏览器兼容性

function addnewchoice(val)
    choicefile.style.width="86px";
    choicefile.style.position="absolute";
    ... so on..
}
于 2012-11-29T10:22:09.233 回答
1

这个问题的完美答案是

<style>
   @-moz-document url-prefix() {
                       .testview{
                      width: 86px;
                      position: absolute;
                      margin-left: 35px;
                      margin-top: 90px;
                      z-index: 1;
                      opacity: 0;
                    }
                 }
</style>

如果浏览器是 mozilla firefox,那么带有相应属性的上述样式将应用于页面。如果浏览器是 chrome 意味着将应用默认样式

于 2012-11-29T13:23:48.847 回答