• 締切済み

phpからjsへ

はじめまして。 jQueryの$.ajax関数のGETを使って phpからjavascriptに echo 'document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>");' と値を返してarrayを作成しようと思っています。 しかしこの返し方だと ブラウザに表示した時 document.write(" とhtml上に表示されてしまいarrayが作成されません。 しかしjsに直接 document.write("<script type='text/javascript'>var like_arr=new Array(1,1,1,1,1,1,1,1,1,1,1,1,1)</scr"+"ipt>"); と書き込んでみるとarrayが存在しています。 どうしたらphpからの値でdocument.writeをする事が出来ますか? 分かる方いらっしゃいませんか? よろしくお願いします。

  • jsqrm
  • お礼率45% (16/35)
  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>echo 'document.write("<script type='text/javascript' ぱっと見、シングルクォーテーションが競合していますね? 最低限エスケープが必要かと

関連するQ&A

  • "<scr"+"iptこれって何?

    とあるページのソースにこんな記述がありました。 document.write("<scr" + "ipt type=\"text/javascript\" src=\"http://xxx.js\" ><\/scr" + "ipt>"); どうして<scriptと一気つづりにせずに、「"<scr" + "ipt」などとやっているのでしょうか?

  • JSによるリンク先の値の取得

    はじめまして。 どうしてもできないため、どなたかご教授お願い致します。 私がやろうとしているのは、広告タグで配信されるFLASHorGIF画像をJSで判定し、もしFLASHまたはGIF画像が配信されていれば何もせず、配信されていなければAページへリンクというものを作成しております。 ただ、JSについては初心者のため(FLASHは多少やっております)先に進めず困っております。。 下記が私なりに作成したソースです。 <script language="JavaScript" type="text/javascript"> <!-- var gazo = document.write('<scr' + 'ipt type="text/javascr' + 'ipt" src="配信先URL"></scr' + 'ipt>'); alert(gazo); if(gazo != "document.write('');"){ alert('広告あり'); }else{ alert('広告なし'); } var objBody = document.getElementsById("welcome_pr").item(0); objBody.appendChild(gazo); //--> </script> 配信先URLは仕事のため、記載していません><申し訳ございません。 alert(gazo);で何かしら値が取得できるかなと思ったのですが undefindとしか出ません。 先が見えない状況で、非常に困っています。 どなたかお教え頂けないでしょうか。 宜しくお願い致します。

  • js array -1

    javascriptのソースコードの引用なのですが <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>サンプル</title> </head> <body> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script src="fastclick.js"></script> <script> function print(str){ document.write(str + "<br />"); } document.write("<p>"); var ary = new Array("東京", "大阪", "名古屋"); for (var i = 0 ; i < ary.length ; i++){ print("array[" + i + "] = " + ary[i]); } document.write("</p>"); document.write("<p>"); try{ var ary2 = new Array(-1); }catch(e){ print(e); } document.write("</p>");</script> </body> </html> 30行目try文の中の「 var ary2 = new Array(-1); 」なのですがnewで初期化をしているという事は何となく理解できるのですが 引数で-1を指定しているのですが-1を指定する意味は何かあるのでしょうか?

  • '<SCR' + 'IPT>' なぜ分割?

    JavaScript が使われているページのソースを見ると たまに document.write('<SCR' + 'IPT LANGUAGE="JavaScript… という感じに SCR と IPT をわざわざ結合しているページが見受けられます。 なぜ <SCRIPT … と書かずにこのようなことをするのでしょうか? どのような効果があるのでしょうか?

  • JavaScriptとPHPの配列

    現在、JavaScriptで配列を持っています。 str=[20,38,24,18,23,26,-,20,38.4,18,23,-,2009,01,09,15,13,24,] この配列を順序を変えずにPHP配列としてもつことは可能でしょうか? $arr(20,38,24,18,23,26,-,20,38.4,18,23,-,2009,01,09,15,13,24); 後々、この配列を用いてtextboxに値を格納したいので、 <input type="text" name="ta0"size ="2" value="<?php echo $arr[2]; ?>">s で、利用したいです。 document.write()で書く方法もあると思いますが valueに値として入れることができませんでした。 方法をご存知の方、よろしくご教授お願いいたします。

  • selectタグで日付を生成

    プルダウンメニューで、本日から4日後 から 1か月先までの日付をYYYY/MM/DDの形式で生成して表示されたいのですが、それをvalueに入れる方法が分かりません。 下記までは書いてみたんですが、 <option value="???">のところに何と書いていいのか分からなくなってしまいました。。 for文などループ処理で書いた方がキレイだとは思いますが、 イマイチ分からなかったので、併せて御教授いただければと思います。 <script type="text/javascript"> document.write(AddDate(+4)+'~'+ AddDate(+30)); function AddDate( n ){ var day = new Date( (new Date).getTime()+n*24*60*60*1000); return (day.getFullYear() + "/" + (day.getMonth() + 1) + "/" + day.getDate()); } </script> <select name="delidate"> <option value=""><script type="text/javascript">document.write(AddDate(+4));</script></option> <option><script type="text/javascript">document.write(AddDate(+5));</script></option> <option><script type="text/javascript">document.write(AddDate(+6));</script></option> <option><script type="text/javascript">document.write(AddDate(+7));</script></option> <option><script type="text/javascript">document.write(AddDate(+8));</script></option> <option><script type="text/javascript">document.write(AddDate(+9));</script></option> <option><script type="text/javascript">document.write(AddDate(+10));</script></option> <option><script type="text/javascript">document.write(AddDate(+11));</script></option> <option><script type="text/javascript">document.write(AddDate(+12));</script></option> <option><script type="text/javascript">document.write(AddDate(+13));</script></option> <option><script type="text/javascript">document.write(AddDate(+14));</script></option> <option><script type="text/javascript">document.write(AddDate(+15));</script></option> <option><script type="text/javascript">document.write(AddDate(+16));</script></option> <option><script type="text/javascript">document.write(AddDate(+17));</script></option> <option><script type="text/javascript">document.write(AddDate(+18));</script></option> <option><script type="text/javascript">document.write(AddDate(+19));</script></option> <option><script type="text/javascript">document.write(AddDate(+20));</script></option> <option><script type="text/javascript">document.write(AddDate(+21));</script></option> <option><script type="text/javascript">document.write(AddDate(+22));</script></option> <option><script type="text/javascript">document.write(AddDate(+23));</script></option> <option><script type="text/javascript">document.write(AddDate(+24));</script></option> <option><script type="text/javascript">document.write(AddDate(+25));</script></option> <option><script type="text/javascript">document.write(AddDate(+26));</script></option> <option><script type="text/javascript">document.write(AddDate(+27));</script></option> <option><script type="text/javascript">document.write(AddDate(+28));</script></option> <option><script type="text/javascript">document.write(AddDate(+29));</script></option> <option><script type="text/javascript">document.write(AddDate(+30));</script></option> </select> 分かり難く申し訳ないですが、宜しくお願い致します。

  • 外部javascriptファイルをjavascriptから動的に呼び出したい

    呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。 普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが <script type="text/javascript" src="js.php?key=url"></script> これでは「key=url」が固定になってしまいます。そこで下記のように <script> var commentname=document.URL; var str=encodeURIComponent(commentname); document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>'); </script> document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。 もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

  • Javascriptの関数をPHPで作りましたが戻値を得る方法がわかりません。

    はじめまして。xpにxamppの環境で利用してます。 PHPをjavascriptの関数に出来ると知り、 geturl.php <?php header("Content-type: application/x-javascript"); echo "function picturl() {"; ~ MySQLを特定の条件で検索し、画像の保存先URLを$urlへ格納 ~ echo "}"; ?> showpict.html <html> <head> <meta http-equiv="content-type" content="text/html;charset=shift_jis"> <title>photo</title> <script type="text/javascript" src="geturl.php"></script> <script type="text/javascript"> ~以下でたとえば、  var url = picturl(); とすれば url に 値が入るかと思って作成して見ました。 PHPの$urlには、 ./data/001.png のような値が入ります。 私が参考にしたPHP文では戻値は変数ではなく生のテキストで echo "document.write(\"文章\")"; となっており、これは実行できました。 変数を使用して上記のような値を求めようとしたところ、 echo "document.write(\"$url\")"; echo "retuen $url"; などを試してみましたがうまくいきません。 この様な方法では利用できないものなのでしょうか?。 それともecho文が以外の方法で行うものなのでしょうか?。 よろしくご協力のほどお願いいたします。

    • ベストアンサー
    • PHP
  • どこが動作しない原因かわかりません><

    なぜに動かないかわかりません・・・ ずっとチェックしているのですがどうも動かず>< 下に打ち込んだものを記載します><アドバイス是非お願いします>< ----------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>sample</title> <script type ="text/javascript"> <!-- var linkExp = new Array("1","2","3","4","5","6"); var now = new Date(); var r = now.getDay(); //--> </script> </head> <body> <script type="text/javascript"> <!--if(r==0){document.write(linkExp[0]);}eles{ if(r==1){document.write(linkExp[1]);}eles{ if(r==2){document.write(linkExp[2]);}eles{ if(r==3){document.write(linkExp[3]);}eles{ if(r==4){document.write(linkExp[4]);}eles{ if(r==5){document.write(linkExp[5]);}eles{ if(r==6){document.write(linkExp[6]);}eles{ document.write("何曜日なの???"); }}}}}}} //--> </script> </body> </html> ---------------------------- というものを打ち込みました。 したいこととしては、曜日情報を取得し、それを特定の情報で置き換えるということをしたいと思っております。

  • prototype.jsを使うとfor~inがバグる件

    下記について知っている人が居ましたら教えてください。 HTAでprototype.jsを使うとfor~inでバグります。 具体的に, prototype.jsを読み込んだ状態でfor~inして, for~inの情報を参照すると,値ではなくソースコードが表示されます。 prototype.jsを読み込ませない場合で,通常のようにfor~inして, for~inの情報を参照すると,問題なく値が参照できます。 OS環境とバージョンによって違うかもしれませんが,僕の環境では現象が発生します。 対策方法を知っている人がいましたら教えてください。 下記のソースを実行すると, バグらない場合は,次のように出力されます。 hoge piyo toge バグる場合は,次のように出力されます。 function(item, i) { i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; var n = this.slice(0, i).reverse().indexOf(item); return (n < 0) ? n : i - n - 1; } -略- { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e != $break) throw e; } return this; } hoge piyo toge prototype.js使用すると... ///////////////////////////////////// // sample.hta バグ <html> <head> <title>ツール</title> <script type="text/javascript" src="./prototype.js"></script> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> </body> </html> prototype.js使用しないと... ///////////////////////////////////// // sample.hta バグらない <html> <head> <title>ツール</title> <!-- <script type="text/javascript" src="./prototype.js"></script> --> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> </body> </html> prototype.jsを最後に読み込ませると... ///////////////////////////////////// // sample.hta バグらない <html> <head> <title>ツール</title> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> <script type="text/javascript" src="./prototype.js"></script> </body> </html>

専門家に質問してみよう