Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: Javascript
Hi,
 
I am trying to add a new row dynamically to a html table using a javascript function.
 
I am trying to populate the value for each text in each row and while doing so,I am able to add the data which has single words but if I have something like Last Name, Middle Name only the first word is being displayed ...
Can anyone suggest me what I need to modify in the function to get the whole string separated by white spaces?
Please check the below code snippet .
function addRow(tbl_name) {
           var tbody = document.getElementById(tbl_name).getElementsByTagName("TBODY")[0];
            // create row
            var row = document.createElement("TR");
            // create table cell 1
            var td1 = document.createElement("TD")
//            var abc=GetInnerText("lsTest");
var abc="Last Name";
            var strHtml1 = "<center><input id="\"Text1\"" type="\"text\"" name=" + getName + " size="\"5\"" value=" + abc + " style="\"background-color:#E2E6C8;margin:0;\"" readonly=""> </input></center>";
            td1.innerHTML = strHtml1.replace(/!count!/g, count);
            // create table cell 2
            var td2 = document.createElement("TD")          
            var getValue = GetInnerText("Select1");
            var getName = "txtBox" + count;
            var strHtml2 = "<center><input id="\"Text1\"" type="\"text\"" name=" + getName + " size="\"5\"" value=" + getValue + " style="\"background-color:#E2E6C8;margin:0;\"" readonly=""> </input></center>";  
            td2.innerHTML = strHtml2.replace(/!count!/g, count);
            // create table cell 3
            var td3 = document.createElement("TD")
            var strHtml3 = "<input type="\"text\"" name="\"in_name\"" value="\"agagag\"" size="\"5\"" maxlength="\"5\"" style="\"height:24;border:" 1="" mode="hold" />            td3.innerHTML = strHtml3.replace(/!count!/g, count);
            // append data to row
            row.appendChild(td1);
            row.appendChild(td2);
            row.appendChild(td3);
            // add to count variable
            count = parseInt(count) + 1;
            // append row to table
            tbody.appendChild(row);
        }
Thanks!
Posted 25-May-10 5:11am
asdf999298
Edited 25-May-10 5:46am
v3

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

You are missing quotes in the value(value=Last Name).Thats why only first word is getting recognized.It should be value="Last Name"
 
Change the markup as below
 
value=\"" + abc + "\"
 
This will work.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 277
1 Maciej Los 230
2 BillWoodruff 205
3 Sergey Alexandrovich Kryukov 195
4 DamithSL 165
0 OriginalGriff 5,130
1 DamithSL 4,157
2 Maciej Los 3,650
3 Kornfeld Eliyahu Peter 3,460
4 Sergey Alexandrovich Kryukov 2,811


Advertise | Privacy | Mobile
Web02 | 2.8.141216.1 | Last Updated 25 May 2010
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100