当質問を気にかけて頂きありがとうございますm(_ _)m
この度の質問は、webデザインについての質問になります。
現在、下記のような形で、ボタンをクリックするとテーブルに記入されたTwitterIDのフォロー数&フォロワー数を取得してテーブルに書き込むというソフトを開発しています。
html
1<body> 2 <div id="topflame"> 3 4 ID: 5 <input type="text" id="twitterid"> PASS: 6 <input type="text" id="twitterpass"> 7 <input type="button" value="追加" onclick="insertRow();"> 8 <input type="button" value="通信" onclick="GetData();"> 9 <input type="button" value="Set" onclick="SetData();"> 10 11 </div> 12 <div id="downflame"> 13 <div id="itsthetable"> 14 <table> 15 <tbody id="account"> 16 <tr> 17 <th class="free">表示名</th> 18 <th class="free">TwitterId</th> 19 <th class="free">TwitterPass</th> 20 <th class="pro">フォロー数</th> 21 <th class="pro">フォロワー数</th> 22 </tr> 23 </tbody> 24 </table> 25 </div> 26 </div> 27</body>
javascript
1function SetData() { 2 var account = document.getElementById("account"); 3 for(var i = 1 ; i < account.rows.length + 1 ; i++){ 4 var url = "http://twitter.com/" + account.rows[i].cells[1].innerText; 5 request(url, function(error, response, body) { 6 if (!error && response.statusCode == 200) { 7 if (body.match(/e=.*人のフォロワー/i)) { 8 var follower = body.match(/e=.*人のフォロワー/i); 9 follower = follower.toString().substr(3); 10 follower = follower.toString().replace("人のフォロワー",""); 11 follower = follower.toString().replace(",",""); 12 ListFollowerCount.push(follower); 13 } 14 if(body.match(/e=.*人をフォロー中/i)){ 15 var follow = body.match(/e=.*人をフォロー中/i); 16 follow = follow.toString().substr(3); 17 follow = follow.toString().replace("人をフォロー中",""); 18 follow = follow.toString().replace(",",""); 19 ListFollowCount.push(follow); 20 } 21 } 22 }) 23 } 24}
上記JavaScriptでfollowerにフォロワー数、followにフォローの取得に成功しています。
ここから、この取得したデータをテーブルに書き込みたいのですが、どうしてもうまくいかず困っています。
テーブルに書き込む処理を以下にように記述してみたのですが
javascript
1function SetData() { 2 var account = document.getElementById("account"); 3 for(var i = 1 ; i < account.rows.length + 1 ; i++){ 4 var url = "http://twitter.com/" + account.rows[i].cells[1].innerText; 5 request(url, function(error, response, body) { 6 if (!error && response.statusCode == 200) { 7 if (body.match(/e=.*人のフォロワー/i)) { 8 var follower = body.match(/e=.*人のフォロワー/i); 9 follower = follower.toString().substr(3); 10 follower = follower.toString().replace("人のフォロワー",""); 11 follower = follower.toString().replace(",",""); 12 ListFollowerCount.push(follower); 13 //追記箇所 ※※※ 14 account.rows[i].cells[4].innerText = ListFollowerCount[i - 1]; 15 } 16 if(body.match(/e=.*人をフォロー中/i)){ 17 var follow = body.match(/e=.*人をフォロー中/i); 18 follow = follow.toString().substr(3); 19 follow = follow.toString().replace("人をフォロー中",""); 20 follow = follow.toString().replace(",",""); 21 ListFollowCount.push(follow); 22 //追記箇所 ※※※ 23 account.rows[i].cells[3].innerText = ListFollowerCount[i - 1]; 24 } 25 } 26 }) 27 } 28}
このように、テーブルIDのaccountを取得し、account.rows[i].cells[3].innerText = ListFollowerCount[i - 1]; というような形で記述しているのですが、これだとテーブルの表示がまったく更新されません。
取得まで成功しているので後はテーブルへの挿入だけなのですが、どこに間違えががあるのか、玄人の方、アドバイス頂ければ嬉しく思います。
かれこれ同じ箇所で2時間くらい悩みまして、進みそうにないので助けを求めてみました。
どうぞ、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/25 10:54
2016/03/26 09:23