看起来像是微软的bug,大家帮帮忙,看能不能解决
<form>
<input id= "File1 " type= "file " UNSELECTABLE=on /> <input id= "Submit1 " type= "submit " value= "submit " />
</form>
设置了UNSELECTABLE=on 后,文件域不能用手工输入,而且点击浏览还能弹出窗口。
可是有一个问题,就是选中这个文件域以后用中文输入法可以输入文字,不在控件里,而是在这个控件的前面或者是后面,很奇怪,我觉得好像是ie的bug,大家给个看法,看看能不能用其他方式解决这个问题
[解决办法]
是在IE里吗? 不会啊
[解决办法]
确实比较怪,哈
[解决办法]
非标准的东西,只有让MS自己解释了...
[解决办法]
俺用的遨游。字在上面,真好玩。
[解决办法]
不清楚。。我这也有,
时有时没...
[解决办法]
发现的bug比较怪异,哈哈
[解决办法]
刚试了一下,果然是真的!!
不过,要双击文本框才能输入啊,而且是在文本框的左侧。
Unselectable=on 的目的到底是什么呢?
[解决办法]
用FF,字在框里,真不好玩...
[解决办法]
Specifies that an element cannot be selected.
Syntax
HTML <ELEMENT UNSELECTABLE=bUnselectable ... >
Scripting N/A
Possible Values
bUnselectable Specifies whether an element is prohibited from being selected.off Default. Permits selection of the element.
on Prohibits selection of the element.
Remarks
Note Setting the UNSELECTABLE attribute to off does not ensure that the element is selectable. One example is an HTML Application (HTA) with the SELECTION attribute set to no. Elements in the body of the HTA cannot be selected, whether the element 's UNSELECTABLE attribute is set to off or not.
Clicking on an element with the UNSELECTABLE attribute set to on does not destroy the current selection if one exists.
An element with the UNSELECTABLE attribute set to on can be included in a selection that starts somewhere outside the element.
The UNSELECTABLE attribute is implemented as an expando. Setting the expando property of the document object to false precludes the functionality of all expandos.
Example
This example shows that the UNSELECTABLE attribute is not inherited by child objects. Text in the TEXTAREA element can be selected and modified, but the text in the parent SPAN element cannot be selected.
SHOWExample
<P>
<SPAN ID= "oSpan " UNSELECTABLE= "on " > This text cannot be selected.
<P>
<TEXTAREA WRAP= "PHYSICAL " ROWS= "5 " STYLE= "font-weight: bold; " ID= "oTextarea ">
This text can be selected and overwritten.
</TEXTAREA>
</P>
This text closes the SPAN and cannot be selected either.
</SPAN>
</P>
Standards Information
There is no public standard that applies to this attribute.
[解决办法]
我知道,这是MS悬赏$100,000通缉的BUG.楼主发财罗
[解决办法]
哈哈
我是中文哪里都可以打的
包括file的文本域里面
先选中 <input type= "file ".../> 控件(只要选中包括它就可以)
把鼠标移动一个指定地点左击一下,这个地方就是中文输入的地方
再点击浏览,取消,换中文就可以输入了
恩退格键 竟然连 <input type= "file ".../> 的文本域都可以输入了
晕啊
[解决办法]
确实是个问题,楼主还是换个方法处理吧
[解决办法]
oncontextmenu= "nofill() " onkeydown= "nofill() "
<script>
function nofill()
{
evernt.returnValue=false;
}
</script>
[解决办法]
up
[解决办法]
呵呵,好怪的问题阿...
[解决办法]
孟子两个钻了...
[解决办法]
楼上的方法比较创新,支持
[解决办法]
oncontextmenu也不是标准事件...
FF里无效...
[解决办法]
参考:
<table width= "500 " border= "1 ">
<tr> <td width= "100 "> title: </td> <td width= "400 "> get the file... </td> </tr>
<tr> <td> file: </td>
<td>
<input type= "text " name= "fn " id= "fn " style= "position:relative;top:0px;left:0px;width:160px;z-index:2;cursor:default; " readonly>
<input type= "file " name= "xls_filename " style= "position:relative;top:0px;left:-162px!important;left:-139px;width:200px;z-index:1; " onchange= "document.getElementById( 'fn ').value=this.value; ">
</td>
</tr>
</table>
[解决办法]
哈哈.好玩还真有这样的bug
[解决办法]
看看这个
<html>
<head>
<META http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<style>
a.addfile {
background-image:url(f1.gif);
background-repeat:no-repeat;
background-position:-823px -17px;
display:block;
float:left;
height:20px;
margin-top:-1px;
position:relative;
text-decoration:none;
top:0pt;
width:80px;
}
input.addfile {
/*left:-18px;*/
}
input.addfile {
cursor:pointer !important;
height:18px;
left:30px;
filter:alpha(opacity=0);
position:absolute;
top:5px;
width:1px;
z-index: -1;
}
a.addfile1 {
background-image:url( 'add.gif ');
background-repeat:no-repeat;
background-position:0px -5px;
display:block;
float:left;
height:20px;
margin-top:0px;
position:relative;
text-decoration:none;
top:0pt;
width:80px;
}
input.addfile1 {
/*left:-18px;*/
}
input.addfile1 {
cursor:pointer !important;
height:20px;
left:10px;
filter:alpha(opacity=0);
position:absolute;
top:0px;
width:20px;
z-index: -1;
}
</style>
<script type= "text/javascript ">
function MultiSelector( list_target, max ){
// Where to write the list
this.list_target = list_target;
// How many elements?
this.count = 0;
// How many elements?
this.id = 0;
// Is there a maximum?
if( max ){
this.max = max;
} else {
this.max = -1;
};
/**
* Add a new file input element
*/
this.addElement = function( element ){
// Make sure it 's a file input element
if( element.tagName == 'INPUT ' && element.type == 'file ' ){
// Element name -- what number am I?
element.name = 'file_ ' + this.id++;
// Add reference to this object
element.multi_selector = this;
// What to do when a file is selected
element.onchange = function(){
// New file input
var new_element = document.createElement( 'input ' );
new_element.type = 'file ';
new_element.size = 1;
new_element.className = "addfile ";
// Add new element
this.parentNode.insertBefore( new_element, this );
// Apply 'update ' to element
this.multi_selector.addElement( new_element );
// Update list
this.multi_selector.addListRow( this );
// Hide this: we can 't use display:none because Safari doesn 't like it
this.style.position = 'absolute ';
this.style.left = '-1000px ';
};
// If we 've reached maximum number, disable input element
if( this.max != -1 && this.count > = this.max ){
element.disabled = true;
};
// File element counter
this.count++;
// Most recent element
this.current_element = element;
} else {
// This can only be applied to file input elements!
alert( 'Error: not a file input element ' );
};
};
/**
* Add a new row to the list of files
*/
this.addListRow = function( element ){
// Row div
var new_row = document.createElement( 'div ' );
// Delete button
var new_row_button = document.createElement( 'input ' );
new_row_button.type = 'button ';
new_row_button.value = 'Delete ';
// References
new_row.element = element;
// Delete function
new_row_button.onclick= function(){
// Remove element from form
this.parentNode.element.parentNode.removeChild( this.parentNode.element );
// Remove this row from the list
this.parentNode.parentNode.removeChild( this.parentNode );
// Decrement counter
this.parentNode.element.multi_selector.count--;
// Re-enable input element (if it 's disabled)
this.parentNode.element.multi_selector.current_element.disabled = false;
// Appease Safari
// without it Safari wants to reload the browser window
// which nixes your already queued uploads
return false;
};
// Set row value
new_row.innerHTML = element.value;
// Add button
new_row.appendChild( new_row_button );
// Add it to the list
this.list_target.appendChild( new_row );
};
};
</script>
</head>
<body>
<!-- This is the form -->
<form enctype= "multipart/form-data " action= "your_script_here.script " method = "post ">
<!-- The file element -- NOTE: it has an ID -->
<a href=#? class= "addfile ">
<input id= "my_file_element " class= "addfile " type= "file " name= "file_1 " size= "1 ">
</a>
<input type= "submit " value=上传>
</form>
Files:
<!-- This is where the output will appear -->
<div id= "files_list " style= "padding:5px;border:1px;border-style:solid;border-color:#0000ff;height:100px;width:600px; "> </div>
<script>
<!-- Create an instance of the multiSelector class, pass it the output target and the max number of files -->
var multi_selector = new MultiSelector( document.getElementById( 'files_list ' ), 2);
<!-- Pass in the file element -->
multi_selector.addElement( document.getElementById( 'my_file_element ' ) );
</script>
</body>
</html>
[解决办法]
目睹b ug
[解决办法]
好玩怎么找到的啊