BlogJava-wldandan-随笔分类-JAVASCRIPT备忘录http://www.blogjava.net/wldandan/category/23453.htmlzh-cnWed, 20 Jun 2007 14:07:48 GMTWed, 20 Jun 2007 14:07:48 GMT60JS备忘录(三) 【数据validator】http://www.blogjava.net/wldandan/archive/2007/06/18/124931.html想飞就飞想飞就飞Mon, 18 Jun 2007 06:09:00 GMThttp://www.blogjava.net/wldandan/archive/2007/06/18/124931.html阅读全文

想飞就飞 2007-06-18 14:09 发表评论
]]>
JS备忘录(二) 【默认用Label显示数据,点击后用select修改数据】http://www.blogjava.net/wldandan/archive/2007/06/12/123654.html想飞就飞想飞就飞Tue, 12 Jun 2007 08:50:00 GMThttp://www.blogjava.net/wldandan/archive/2007/06/12/123654.htmlhttp://www.blogjava.net/wldandan/comments/123654.htmlhttp://www.blogjava.net/wldandan/archive/2007/06/12/123654.html#Feedback0http://www.blogjava.net/wldandan/comments/commentRss/123654.htmlhttp://www.blogjava.net/wldandan/services/trackbacks/123654.html   页面默认显示的时候为label,
   当鼠标点击上后,显示为select选择框,容许选择
 
     
实现
   1.javascript函数:
function makeSelectEnabled(_node){
var selects = _node.getElementsByTagName("select");
var labels = _node.getElementsByTagName("label");

var spans = _node.getElementsByTagName("span");

if(spans.length > 0){
spans[
0].style.padding = "0px";
spans[
0].parentNode.style.paddingTop = "0px";
spans[
0].parentNode.style.paddingBottom = "0px";        
}
        
if(selects.length > 0 && labels.length > 0){
    labels[
0].innerHTML = "";
    selects[
0].style.display = "block";
    selects[
0].focus();
    selects[
0].onblur = function(){
 labels[
0].appendChild(_createTextNode(this.value));
this.style.display="none";    
            }
     }
            
}

2. jsp页面使用(s标签为struts2标签)
<tr>
    
<th>Log level</th>
      
<td onclick="makeSelectEnabled(this)" class="editThisAttribute">
        
<span> 
           
<s:label key="mozartManagerConf.mangerLogLevel" />
            <s:select id="mangerLogLevel"
               cssStyle
="display:none" list="logLevelList" 
               name
="xxxx.LogLevel"
               value
="xxx.mangerLogLevel" 
               headerKey
="" headerValue="" /> 
         
</span>
     
</td>
</tr>

注意:
1.使用struts2的标签select显示下拉列表
     list对应的logLevelList为下拉数据,value="mozartManagerConf.mangerLogLevel" 为当前显示数据

2.在构造函数中填充
logLevelList(每次请求都会重新初始化一个Action实例)

3.具体实例可以参见struts2-showCase






想飞就飞 2007-06-12 16:50 发表评论
]]>
JS备忘录(一)【默认用Label显示数据,点击后用Text修改数据】http://www.blogjava.net/wldandan/archive/2007/06/01/121386.html想飞就飞想飞就飞Fri, 01 Jun 2007 08:49:00 GMThttp://www.blogjava.net/wldandan/archive/2007/06/01/121386.htmlhttp://www.blogjava.net/wldandan/comments/121386.htmlhttp://www.blogjava.net/wldandan/archive/2007/06/01/121386.html#Feedback0http://www.blogjava.net/wldandan/comments/commentRss/121386.htmlhttp://www.blogjava.net/wldandan/services/trackbacks/121386.html   页面默认显示的时候为label,
   当鼠标点击上后,显示为text框,容许修改
 
     
实现
   1.javascript函数:  
//显示input框   并设置css(这里是inputTextField)
function
 makeInputEnabled(_node){
var spans = _node.getElementsByTagName("span");
var inputs = _node.getElementsByTagName("input");
var labels = _node.getElementsByTagName("label");


if(spans.length > 0){
    spans[
0].style.padding = "0px";
spans[
0].parentNode.style.paddingTop = "0px";
spans[
0].parentNode.style.paddingBottom = "0px";        
 }
        
if(inputs.length > 0 && labels.length > 0){
     labels[
0].innerHTML = "";
     inputs[
0].style.display = "block";
     inputs[
0].focus();
     inputs[
0].className = "inputTextField";
     inputs[
0].type="text";
            
     
var inputSize = 10;
     
var inputValueLength = inputs[0].value.length;
     
     
if(inputValueLength > 10) inputSize = inputValueLength + 1;

     inputs[
0].size = inputSize;
            inputs[
0].onblur = function(){
                  labels[
0].appendChild(_createTextNode(this.value));
                
this.style.display="none";    
    }
}

function _createTextNode(name){
   
return document.createTextNode(name);
}
 
2. jsp页面使用(s标签为struts2标签)

<table class="propsReadTable">
  <tr>
      <th>
          Monitoring Interval for High Availability (HA)
      </th>
      <td onclick="makeInputEnabled(this)" class="editThisAttribute">
           <span>
                  <s:label key="bean.prop" />
                  <s:hidden key="
bean.prop" cssClass="inputTextField" />
            </span>
      </td>
  </tr>                   
</table>   

     




想飞就飞 2007-06-01 16:49 发表评论
]]>