Re: how to retrieve the data in array with html element access?



Harry a écrit :
Hi Guys
I dont really know how to do this: if there are a page of others,
some data are embedded inside the data array like this:

<script language="JavaScript" type="text/javascript">
<!--
var jsData = new Array();
jsData[0] = {bowl:"I", year:1967, winner:"Packers", winScore:35,
loser:"Chiefs", losScore:10};
jsData[1] = {bowl:"II", year:1968, winner:"Packers", winScore:33,
loser:"Raiders (Oakland)", losScore:14};
jsData[2] = {bowl:"III", year:1969, winner:"Jets", winScore:16,
loser:"Colts (Balto)", losScore:7};
jsData[3] = {bowl:"IV", year:1970, winner:"Chiefs", winScore:23,
loser:"Vikings", losScore:7};
jsData[4] = {bowl:"V", year:1971, winner:"Colts (Balto)", winScore:16,
loser:"Cowboys", losScore:13};
--!>

Now only interested in these data,I want to export it to some format
that i like ,store somewhere else, How can I do this?

a kind of csv in an hidden field to submit somewhere ?

function xfer() {
var report = document.forms[0].hiddenValues;
for(var i in jsData) {
report.value += i+';';
for(var k in jsData[i]) report.value += jsData[i][k]+';';
report.value += '\n';
}
// to see what happens
document.getElementById('inf').innerHTML = report.value;
}


<p><button onclick="xfer();">txfer</button></p>
<form action="repport.php">
<input type=hidden name="hiddenValues">
<input type=submit>
</form>
<pre id="inf">
</pre>

I know inside javascript ,you just use it's variable name to access
it ,but how about out side? just like we access html elements by it's
tag name, can we just use some" xpath or DOM way" to access this
array?

var E = document.forms[0].hiddenValues.value.split('\n');
var txt = '<table border=1>', T='';
for(var i=0, L = E.length; i<L; i++) {
txt += '<tr>';
T = E[i].split(';');
for(var k=0, S = T.length; k<S; k++)
txt += '<td>'+T[k]+'<\/td>';
txt += '<\/tr>';
}
txt += '<\/table>';
document.getElementById('result').innerHTML = txt;


<div id="result"></div>


or ... :

<script type="text/javascript">
var txt = '<table border=1><tr>';
for(var k in jsData[0]) {
txt += '<th>'+k+'<\/th>';
}
txt += '<\/tr>';
for(var i in jsData) {
txt += '<tr><th>'+i+'<\/th>';
for(var k in jsData[i]) txt += '<td>'+jsData[i][k]+'<\/td>';
txt += '<\tr>';
}
txt += '<\/table>';
document.write(txt);
</script>

--
sm
.


Quantcast