Click here to Skip to main content
15,881,882 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am trying to get a JSON function to print out.

There are no error messages when designing or debugging.

It just did not print out the JSON.

One additional question: Where does the JSON data go after you store it?


JavaScript
<script type="text/javascript">
    function ListJSON() {
       var obj = [
            {"name":"name1","street":"street1","city":"city1","state":"state1","zip":"zip1","phone":"phone1"},
            {"name":"name2","street":"street2","city":"city2","state":"state2","zip":"zip2","phone":"phone2"},
            {"name":"name3","street":"street3","city":"city3","state":"state3","zip":"zip3","phone":"phone3"}
        ];
        var name1 = document.getElementById("<%=TextBox1.ClientID%>").text
        var street1 = document.getElementById("<%=TextBox2.ClientID%>").text
        var city1 = document.getElementById("<%=TextBox3.ClientID%>").text
        var state1 = document.getElementById("<%=TextBox4.ClientID%>").text
        var zip1 = document.getElementById("<%=TextBox5.ClientID%>").text
        var phone1 = document.getElementById("<%=TextBox6.ClientID%>").text
        //var text = '{"name":name1,"street":street1,"city":city1,"state":state1,"zip":zip1,"phone":phone1}'

        n = obj.length + 1;
        obj[n].name = name1;
        obj[n].street = street1;
        obj[n].city = city1;
        obj[n].state = state1;
        obj[n].zip = zip1;
        obj[n].phone = phone1;
        var out = "<table><tr><td>";
        var i;
        for (i = 0; i < obj.length; i++) {
            out += 'obj[i].name + "</td><td>" + obj[i].street + "</td><td>" + obj[i].city + "</td><td>" + obj[i].state + "</td><td>" + obj[i].zip + "</td><td>" + obj[i].phone + "</td></tr><tr><td>"';
        }
        out += "</td></tr></table></center>"
        document.getElementById("id01").innerHTML = out;
    }
 </script>

ASP.NET
<div><center><table><tr><td><br/><br/><br/>
    <asp:Label ID="Label1" runat="server" Text="Name"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox1" runat="server" Text="Jack Ertle"></asp:TextBox></td></tr><tr><td>
    <asp:Label ID="Label2" runat="server" Text="Street"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox2" runat="server" Text="Street"></asp:TextBox></td></tr><tr><td>
    <asp:Label ID="Label3" runat="server" Text="City"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox3" runat="server" Text="City"></asp:TextBox></td></tr><tr><td>
    <asp:Label ID="Label4" runat="server" Text="State"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox4" runat="server" Text="State"></asp:TextBox></td></tr><tr><td>
    <asp:Label ID="Label5" runat="server" Text="Zip"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox5" runat="server" Text="Zip"></asp:TextBox></td></tr><tr><td>
    <asp:Label ID="Label6" runat="server" Text="Phone"></asp:Label></td></tr><tr><td>
    <asp:TextBox ID="TextBox6" runat="server" Text="Phone"></asp:TextBox></td></tr><tr><td><br/><br/>
    <asp:Button ID="Button1" runat="server" Text="ListJSON"  /></td></tr><tr><td>
</td></tr><tr><td>
</td></tr></table></center></div>
<div id="id01"></div>
Posted

1 solution

Well it looks like you make an array with 3 elements and then try to add a fourth by just increasing the index value. that wont work with an array

Quote:
n = obj.length + 1;
obj[n].name = name1;


I guess you get an array out of bounds exception(?)

what you have to use is the push method
http://www.w3schools.com/jsref/jsref_push.asp[^]
 
Share this answer
 

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900