お世話になります、
javascriptに下記のように引数を渡して
表示したいのですがうまくいきません。
<script language="javascript">
function dispData(msg)
{
document.write(msg);
}
</script>

$a = "hoge";
echo "<a href='#' onclick='javascript:dispData($a)'>" . $a . "</a><br>";
とすると動作してくれません。
$aをシングルコートで囲っても同じです。
$a = "/hoge/";をやると/hoge/を表示されます。
コーディングの方法を教えて頂きたいのですが。
dispData()に引数を渡して処理を行いたいもので。
よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

document.writeする意味がわかりませんが・・・


きちんとクォーテーションをつけてやればわたりませんんか?

<script language="javascript">
function dispData(msg){
alert(msg);
}
</script>
<?
$a = "hoge";
echo "<a href='#' onclick='javascript:dispData(\"$a\")'>" . $a . "</a><br>";
?>
    • good
    • 1
この回答へのお礼

ありがとうございました、
>>document.writeする意味がわかりませんが・・・
ご指摘のとおりalertでOKなのですが。
お世話様でした。

お礼日時:2009/05/25 21:58

以下のように変更してみたらどうでしょう


echo "<a href='#' onclick='javascript:dispData(\"".$a."\")'>" . $a . "</a><br>";
    • good
    • 0
この回答へのお礼

できました、
有難うございました。

お礼日時:2009/05/25 21:57

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJavascriptからJSPファイル(~.jsp)を起動する時、引数

JavascriptからJSPファイル(~.jsp)を起動する時、引数を渡したい。また、jspファイル終了後、jspからのリターン値(もくしは引数)をjavascriptで参照したい。
 ※要するに javasript → jsp 起動
 起動jspファイル終了時、javascript側でjspファイルの処理結果を判定したい。

どうすれば良いですか?

Aベストアンサー

要するに、JAVSCRIPTを使って、サーバーサイドのJSPとAJAX(非同期通信)
するという意味ですかねえ?
 それなら、PHPやCGIの場合とあまりちがわないと思うんですが...
あまりくわしくないですが、
HTML(JAVASCRIPT)側からPOST、GET要求したデーターは、
JSP側は
 「request.getParameter(java.lang.String name)」
で受け取れます。
逆にheader指定は、
<%@ page contentType="text/html; charset=utf-8" %>
で、出力は
<% out.print(hoge); %>とか<%= hoge %>
みたいに、ASPやPHPとかまあ、みんな同じようなもんですね。
ヒアドキュメントもあるのかな。

Q$str=preg_replace('/\u3000/','  ',$str);

によってutf-8の空白文字をhtmlの空白文字に変換しようとしたのですがエラーになります
どうしたらいいのでしょうか?

Aベストアンサー

>そもそも?のところにコード表現で空白文字を入力する手段はないのでしょうか?
\xE3\x80\x80
で一応いいかと思いますが…

QhtmlまたはJavascriptからファイルを引数つきで起動する。

htmlまたはJavascriptからファイルを引数つきで起動する。

マクロ(macro.xls)に引数(csvファイル名)を渡して起動させたいため、
vbsを作成してマクロを引数つきで実行するようにしました。

コマンドからは
>test.vbs /FILE:macro.xls /P:aaa.csv

でマクロを実行することができたのですが、

HTMLにリンクを張り、リンクをクリックすることで
vbsを引数つきで実行するにはどうすればよいでしょうか?
(Javascriptを経由しても構いません)

Aベストアンサー

当然、Windows IE限定のお話ですよね。

どおしてもHTMLでやりたいなら、test.vbsなんて余計な物を作らずに、
直接javascript(MsのJscript)のActiveXオブジェクトを使って、
直接ExcelApplicationオブジェクトを作って、Excelオブジェクト
のクラスメソッドを使って、ファイルの読み込み、マクロの実行を
すればよいんじゃないかと、Excelオブジェクトをシームレスで動かせば、
Excelを見せなくして、マクロ実行だけこっそりさせる事も出来ます。

※だから、セキュリティ制限が厳しいのです。IEで、信頼済みサイトに登録する
必要があります。


<body>
----------
<p>
<a name="button_no_kawari" onclick="Excel_open('xxx.xls');return false;">
エクセルを実行</a>
</p>
----------
<script type="text/javascript">
<!--
 function Excel_open(pgm_name){
  var pgm_path = "c:/プログラム/";
  var file_name = pgm_path + pgm_name;
  var Excel = new ActiveXObject("Excel.Application");
  Excel.Visible = true;
  Excel.Workbooks.Open(file_name,0,"true"); 
  Excel.Workbooks(pgm_name).Sheets("Menu").Activate;
 //他にもいろいろExcelを操作出来る
  Excel.Application.Run("main"); //<=マクロ"main"実行
  Excel = "";
 }
// -->
</script>
</body>

当然、Windows IE限定のお話ですよね。

どおしてもHTMLでやりたいなら、test.vbsなんて余計な物を作らずに、
直接javascript(MsのJscript)のActiveXオブジェクトを使って、
直接ExcelApplicationオブジェクトを作って、Excelオブジェクト
のクラスメソッドを使って、ファイルの読み込み、マクロの実行を
すればよいんじゃないかと、Excelオブジェクトをシームレスで動かせば、
Excelを見せなくして、マクロ実行だけこっそりさせる事も出来ます。

※だから、セキュリティ制限が厳しいのです。IEで、信頼済みサイト...続きを読む

QJavaScriptの関数の引数省略について

JavaScriptの関数で、下記のような引数の省略はできるでしょうか?

【例】

function hoge(aaa, bbb){}

hoge(,"できるかな");←このような引数の省略はできるでしょうか?

--------------------

しらべてみると、引数が2つあった場合、後方の引数の省略はできることがわかりました。

【例】
hoge("できるかな");←この場合できます。


しかし、引数が2つあった場合、前方の引数省略の例は見つけることができませんでした。
前方の引数を省略することはできるのでしょうか?
よろしくお願いします。

Aベストアンサー

>hoge(,"できるかな");

そういう引数の省略をする言語もありますが、javascriptでは
文法上間違っているのでエラーで処理されます

どうしてもやりたいならnullでも与えてあげてください
(まぁ省略になっていないですが・・・)

hoge(null,"できるかな");

あとは姑息に無理やり配列で渡すなどすれば似たようなことは
できないことはないですが、あまりお勧めはできません。

<script>
function func(){
var a=arguments[0][0];
var b=arguments[0][1];
document.write("1st:"+a+"<br>");
document.write("2nd:"+b+"<br>");
}
func(["hoge","fuga"]);
func([,"piyo"]);
</script>

Qループ forに関して for($i = $num ; $i < $max ; $i++)

phpの初心者です。

以下の記述ですが、上手にループしてくれません。

for($i = $num ; $i < $max ; $i++)

$num の部分に「0」を入れると稼動するのですが、変数を代入したいというのが希望です。

方法があったらご教授下さい。

Aベストアンサー

もう一度全体のコードを見直してみてください。
問題なく動作します。

$num = 1;
$max = 5;

for($i = $num ; $i < $max ; $i++){
echo $i."<br />";
}

Qjavascriptに引数を渡す方法について

お世話になります、
javascriptに下記のように引数を渡して
表示したいのですがうまくいきません。
<script language="javascript">
function dispData(msg)
{
document.write(msg);
}
</script>

$a = "hoge";
echo "<a href='#' onclick='javascript:dispData($a)'>" . $a . "</a><br>";
とすると動作してくれません。
$aをシングルコートで囲っても同じです。
$a = "/hoge/";をやると/hoge/を表示されます。
コーディングの方法を教えて頂きたいのですが。
dispData()に引数を渡して処理を行いたいもので。
よろしくお願い致します。

Aベストアンサー

document.writeする意味がわかりませんが・・・
きちんとクォーテーションをつけてやればわたりませんんか?

<script language="javascript">
function dispData(msg){
alert(msg);
}
</script>
<?
$a = "hoge";
echo "<a href='#' onclick='javascript:dispData(\"$a\")'>" . $a . "</a><br>";
?>

Q@$a = $b["c"] or $a = "text"; という記述の仕方

これは $a = b["c"] がエラーだったら$aに"text"を代入できるので楽なんですが、
あまり使わない方がいい構文なのでしょうか?

配列の存在チェックをしていて
if(isset($b["c"])){
$a = $b["c"];
}else{
$a = "text";
}
こちらの方がいいのでしょうか?
or の使い方が検索してもイマイチ分からないのです

@はエラーが発生しているのに、それを表示しない方法だと認識しています
だからエラーを出さないのが正しい記述なのであれば、後者が正しいのかと思ったり
1行で収まる上に、一応構文として理解も難しくないので問題ないのかなと思ったり

タイトルの記述方法が不適切なのかどうかと、orの適切な使い方、@はあまり使わない方がいいのかを教えてください
本やネットで検索してみたのですが、どうしてもヒットしません
検索で分かるのでしたら、どのような検索の仕方がいいか教えてください!
お願いします。

Aベストアンサー

@$a = $b["c"] or $a = "text";

if(isset($b["c"])){
$a = $b["c"];
}else{
$a = "text";
}
では$b["c"] = 0の時の動作が違いますね
上の式と同じにするなら
if(isset($b["c"]) and $b["c"]){
または
if(!empty($b["c"])){
になると思います
@は自分も関数の頭に使うことはたまにあります。使わない方がいいとは思いません。

@がないと$b["c"]が未定義の場合にNoticeエラーとなります。

Qjavascript外部読み込みの際の引数

教えてください。

HTML内で以下のように ?ver=12 と引数付きでjavascriptを読み込みます。
<script type="text/javascript" src="hoge.js?ver=12"></script>


このver=12をhoge.js内で利用するにはどうやって取得したらよいでしょうか?



※画像等のキャッシュの制御のためにバージョンナンバーをつけて管理します。

Aベストアンサー

一例です。

(function(){
var sc = document.getElementsByTagName("script");
var ver = sc[sc.length-1].src.match(/\?ver=(\d+)$/);
if(ver) ver = ver[1];
alert(ver);
})();

Q ←コレでエコーさせる設定

XAMPPをインストールして
ローカルにテスト環境を構築しています。

<?=$hoge?>
本番環境ではこの書き方でエコー出来ているので
合わせたいです。

php.ini辺りの設定で有効にできるのでしょうか。

宜しくお願い致します。

Aベストアンサー

short open tagを有効にすると <?= も使えるようになります
http://php.net/manual/ja/ini.core.php


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング