2012-04-16 35 views
-4

你好我將如何在Javascript中創建這個?:JavaScript的HTML創建

You have <strong><span id="commentsCounter">${const['COMMENT_MAX_LENGTH']}</span></strong> characters left.<br/> 

添加上面這樣的:

function editCommentToggle(id) 
{ 
    theRow = document.getElementById("id"+id); 
    //user = theRow.cells[0].innerHTML; 
    //date = theRow.cells[1].innerHTML; 
    com = theRow.cells[2].innerText ; 


    idx = 2; 
    maxlength = 250; 

       // Comment field 
     cell = theRow.cells[idx]; 
     while(cell.childNodes.length > 0) cell.removeChild(cell.childNodes[0]); 

     //spanTag = document.createElement("span"); 
     //spanTag.innerHTML = "id='commentsCounter'>" + maxlength + "</span>characters left.<br/>" 
     //cell.appendChild(spanTag); 
     element = document.createElement("textarea"); 
     element.id="comments-"+id; 
     element.rows="3"; 
     element.value = com; 
     element.style.width = "400px"; 
     element.maxLength = "250"; 
     element.onfocus = element.onkeydown = element.onkeyup = function(){return characterCounterEdit(undefined, maxlength, this);}; 
     cell.appendChild(element); 

     $(function() 
       { 
        setTimeout("syncCommentTableSizes()",0); <%-- Run after HTC code --%> 
       }); 

    // Actions field 
    cell = theRow.cells[++idx]; 
    while(cell.childNodes.length > 0) cell.removeChild(cell.childNodes[0]); 

    link = document.createElement("a"); 
    link.href = 'javascript:saveComment('+id+')'; 

    element = document.createElement("img"); 
    element.className = "edit"; // check if we need this changed 
    element.src="../images/icon_save.gif"; 
    element.border="0"; 
    element.alt = "Save"; 

    link.appendChild(element); 

    cell.appendChild(link); 
    cell.appendChild(document.createTextNode(" ")); 

    link = document.createElement("a"); 
    link.href = 'javascript:cancelCommentEdit('+id+')'; 

    element = document.createElement("img"); 
    element.className = "delete"; // check if we need this changed 
    element.src="../images/icon_cancel.gif"; 
    element.border="0"; 
    element.alt = "Cancel"; 

    link.appendChild(element); 
    cell.appendChild(link); 
} 

的jsp:

<table id="add-comment-table" class="data_table" style="border-top-style: none; margin-top: 0px;"> 
<td colspan="3"> 
    You have <strong><span id="commentsCounter">${const['COMMENT_MAX_LENGTH']}</span></strong> characters left.<br/> 
    <textarea id="comment" name="comment" rows="3" 
     onfocus="characterCounter('commentsCounter',${const['COMMENT_MAX_LENGTH']}, this)" 
     onkeydown="characterCounter('commentsCounter',${const['COMMENT_MAX_LENGTH']}, this)" 
     onkeyup="characterCounter('commentsCounter',${const['COMMENT_MAX_LENGTH']}, this)"></textarea> 
     <a href="javascript:addComment();"><img src="../images/icon_add.gif" border="0" alt="Add"/></a> 
</td> 

+1

用單引號括起來,並使用反斜槓來避開COMMENT_MAX_LENGTH周圍的內容? – Jonathan 2012-04-16 17:07:38

+0

您能否通過解釋方式提供更多信息? – 2012-04-16 17:07:52

+0

我其實不需要'$ {const {'COMMENT_MAX_LENGTH']}'#250中的常量。我需要在javascript中構建這個html。並把它放在我已經構建的這個之上: – 2012-04-16 17:09:44

回答

1

輸出的不斷隱藏的DIV中。

然後,您可以從html中獲取innerHTML,而不是嘗試通過javascript進行設置。

<div id="maxSize" style="display:none;">${const['COMMENT_MAX_LENGTH']}</div> 
<span id="commentsCounter"></span> 
<div onclick="update()">Click</div> 

<script> 
    function update() 
    { 
     var maxLength = parseInt(document.getElementById("maxSize").innerHTML); 
     document.getElementById("commentsCounter").innerHTML = maxLength; 
    } 
</script> 
1

你可以把這個html元素作爲例子

elem.innerHTML = "your html generated code"; 
當然

使用單引號爲HTML代碼

+0

所以像這樣:'elem.innerHTML =「您有 $ {const ['COMMENT_MAX_LENGTH']}剩下的字符。
」'??? – 2012-04-16 17:13:28

+0

elem.innerHTML =「..... id ='commentsCounter'」 這意味着ID爲單引號 – mfadel 2012-04-16 17:15:26

+0

很酷........... – 2012-04-16 17:19:19