Specifies that an element cannot be selected.SyntaxHTML <ELEMENT UNSELECTABLE=bUnselectable ... > Scripting N/A Possible ValuesbUnselectable Specifies whether an element is prohibited from being selected.off Default. Permits selection of the element. on Prohibits selection of the element. Res 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.ExampleThis 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 InformationThere is no public standard that applies to this attribute.
看看这个<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>
不过,要双击文本框才能输入啊,而且是在文本框的左侧。Unselectable=on 的目的到底是什么呢?
Scripting N/A Possible ValuesbUnselectable Specifies whether an element is prohibited from being selected.off Default. Permits selection of the element.
on Prohibits selection of the element.
Res
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.ExampleThis 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 InformationThere is no public standard that applies to this attribute.
我是中文哪里都可以打的
包括file的文本域里面先选中<input type="file".../>控件(只要选中包括它就可以)
把鼠标移动一个指定地点左击一下,这个地方就是中文输入的地方再点击浏览,取消,换中文就可以输入了
恩退格键 竟然连<input type="file".../>的文本域都可以输入了
晕啊
<script>
function nofill()
{
evernt.returnValue=false;
}
</script>
~~~~~~~~~~~~~~`~~~~~~~`
改成==>
event.returnValue=false;
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>
<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>