関数の実行ができません

このQ&Aのポイント
  • 関数の実行ができず、呼び出しできません。
  • printDataという関数を使用してデータを表示しようとしていますが、正しく呼び出せません。
  • printData関数を正しく呼び出す方法を教えていただきたいです。
回答を見る
  • ベストアンサー

関数の実行ができません

function printData($str) { print("alert($str)"); return true; } print("<td><a href=\"#\" onClick=\"alert($i);return false\">$i</a></td>\n"); 上記を参考に関数(printdata)の呼び出しをおこなったの ですがうまく呼び出しできません。 print("<td><a href=\"#\" onClick=\"new Function($this->printdata($i))\";return false\">$i</a></td>\n"); どなたかご存知でしたら教えてください。 よろしくお願い致します。

  • PHP
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

<html> <head> <script language="JavaScript"> <!-- function printData($str,$str1,$str2) { alert($str+"ページ:"+$str1+"件から"+$str2+"件表示"); return true; } --> </script> </head> <body> <?php $ken = 55; $amari= $ken % 10; $syou = ($ken-$amari) / 10; print("検索ページ:"); $k=1; for($i=1;$i<=$syou+1;$i++){ $j = $i*10; if($i == $syou+1){ print("<a href=\"#\" onClick=\"return printData($i,$k,$k+$amari-1)\"> $i</a>"); }else{ print("<a href=\"#\" onClick=\"return printData($i,$k,$j)\"> $i</a>"); } $k =$j+1; } ?> </body> </html> -------------------------------------------------- これを試してみて下さい。質問者さんの要求通りつくった つもりですが、おやくにたつかどうかわかりません。 後は、DBにアクセスする記述やなんやら付け加えれば、 質問者さんの思い通りのページが完成するのではないかと 思います。

boofuu
質問者

お礼

ありがとうございます。 こんなに詳しく書いて頂いて 大変助かりました。 なんかそのまま使えちゃいます。 m(__)m感謝感謝です。

その他の回答 (2)

回答No.3

#2で回答したものです。先ほどの回答では、アラート表示するだけで、 それ以上出来ませんでした。だからさっきの回答は無視して下さい。 よくよく考えてみる関数はjavascriptではなかったのですね。勘違いしてました。 それでこの問題の解決案なんですが、onClickで関数を呼び出すのではなくて 例えば <a href="./file.php?pageID=$i"> として、 $page=$_GET["pageID"]でページの番号を受け取って、 printData($page); とすればこの関数にページ番号をパラメータとして渡す事ができます。 こうすればboofuuさんの思う様なページが今度こそは出来ると思いますよ。 承知の事かもしれませんが参考になればと思いもう一度回答しました。

  • tripod_r
  • ベストアンサー率38% (5/13)
回答No.1

phpにはalertという関数がありません。 そこでエラーが起きているものと思われます。 あと、何をしたいのかが良く分かりませんので何をしたいのかを詳しく記入して下さい。 何がしたいか分かれば参考用のスクリプトも記述できると思うのですが。

boofuu
質問者

補足

説明不足で申し訳ありませんでした。 実行環境 OS:Windows2000 PHP + Apache + PostgreSQL 処理内容 抽出したレコードをページ毎に表示。 (1ページ10件)とする。 抽出したレコード数に対応する」ページを表示します。 55件の場合は6ページとなります。 ページの表示をテキストリンクとします。 "検索ページ: 1 2 3 4 5 6 "という表示になります。 なお、テキストリンクは、他ページにリンクしているの ではなく、表示させるレコード範囲をあらわしています。 ページ1は、1件目から10件目のレコードとなります。 検索ページのテキストリンクをクリックした時に そのページ番号をパラメータとして他関数に与えたいのですが 関数の呼び出しがうまくいきません。 宜しくお願い致します。

関連するQ&A

  • jQueryでクリックされた要素のidを関数で取得

    以下のようなソースで、クリックされた要素のidをアラートで出したいとき、class: alphabetのa要素ををクリックすると、undefinedと出ます。 関数でthisを使うと呼び出し元のことを指さないので、クリックされた要素のidは出ないということなのですが、こういった場合、クリックされた要素のidを取得して、表示したい場合はどのようにすればよいか教えてください。 [htmlソース] <a class='alphabet' id='a' href='' onclick="return false;">A</a> <a class='alphabet' id='b' href='' onclick="return false;">B</a> <a class='alphabet' id='c' href='' onclick="return false;">C</a> <script src="jquery.min.js"></script> <script type="text/javascript"> $(function(){ $('.alphabet').click(function(){ function alertAlphabet(){ alert($(this).attr('id')); }; alertAlphabet(); }); }); </script>

  • jQueryのpostで生成した要素を無限に有効に

    以下のような、jQueryのソースで、jQueryで生成したリンクを押すことによって$.postで生成したリンクで、.onを使って何回でもアラートが表示されるようにしたいのですが、1回目だけ出るのですが、それ以降は出ません。 何回でも出るようにするためには、どのようにすればいいですか。 また、postするデータmessage: 'message'も何回リンクをクリックしても、送信されるようにしたいです。よろしくお願いします。 $(function(){ $('#html').html("<a href='' onclick='return false' class='hello'>Hello</a>"); $('.hello').on("click", function(){ $.post("", { message: 'message', }, function(){ $('#html').html("<a href='' onclick='return false' class='hello'>Hello</a>"); alert('hello'); }); }); });

  • jQueryのイベントに引数を渡したい

    例えば以下のような既存のJavaScriptのコードをjQueryのイベントで書き直したい場合、関数の引数で渡していた値は、どうやって渡すのでしょうか? 【html】 <a href="" onclick="func_a('abc'); return false;"></a> 【JavaScript】 faunction func_a(param_a){ alert(param_a); } 以下のようにすれば渡せないことはありませんが、かなり強引な感じがします。 【html】 <a href="" class="abc"></a> 【jQuery】 $(function() { $("a").click( function(){ var param = $(this).attr("class"); alert(param); return false; } ); }); こういう場合はjQeuryであっても、onclick属性で関数を呼び出すのが普通なのでしょうか? ご存知の方がいらっしゃいましたら教えてください。 よろしくお願い申し上げます。

  • 関数を呼び出すとき、最後にreturn 0を入れる

    関数を呼び出すとき、最後にreturn 0を入れる訳はなんですか? 例えば、ボタンなど。 <input [省略] onclick="alert();return 0;"> returnが無くても、普通に実行できます。 alert(mail(5)); function mail(num){ num = num + 1 ; return num; } これを実行すると、『6』と警告が出ます。 この場合のreturnは理解できます。 return 0、return false、は何のためにありますか? また、無いと何か問題がありますか?

  • リンクにおける挙動の参照と範囲指定

    ほぼ初心者です。 html内に、javascriptを参照させて、以下のように作成しました。 <SCRIPT language="javascript"src="popup.js"></script> <□□> <a href="1.jpg" onclick="popup(href);return false;">テスト1</a> <a href="2.jpg" onclick="popup(href);return false;">テスト2</a> <a href="3.jpg" onclick="popup(href);return false;">テスト3</a> </□□> 普通にポップアップされたのですが、以下の方法ができないかと思っております。 (1)「onclick="popup(href);return false;"」の部分をほかから参照させる (2)特定の範囲のリンクのみ「onclick="popup(href);return false;"」を適用させる。 (1)はLightboxのように、「rel="thumbnail"」みたいに参照できないか、ということです。 (2)は上の「<□□>~</□□>」のように囲われた範囲のリンクで、「onclick="popup(href);return false;"」を適用できないか、ということです。 よろしくお願いします。

  • JavaScript ログアウト処理

    JavaScriptでログアウト処理を作成中です。 <script Language="JavaScript"> <!-- function checklogout(){ //n_logout オブジェクトを参照 if(!document.n_logout.checked){ window.alert("本当にログアウトしますか?"); return true; } else{ return false; } } //--> </script> <a href="~.php"><img src="botton.gif" name="n_logout" onClick="return checklogout()"> 現状では、『本当にログアウトしますか?』に対して、 alert 上では 『OK』 ボタンしか表示されません。 これを Yes か No でユーザーに処理させるように改良したい。 アドバイスよろしくお願い致します。

  • onClickで関数呼出し後に、結果に応じてsubmitを実行する方法

    JavaScriptで、 function func() {  if (a==0) {   alert("処理しない");   return false;  }  return true; } と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。 そして、FORMタグで <FORM NAME="FormName" ACTION="next.html"> <INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();"> </FORM> と記述しています。 要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに 遷移させたいのですが、上記記述では、遷移しません・・・ onClick部分にonClick="return func(),submit();"と記述した場合、 func関数の実行結果がtrueでもfalseでも遷移してしまいます。 そこで、なんとなくonClick="return func()&&submit();"と記述してみたところ、 func関数がtrueの時のみうまく遷移するようになりました。 これは偶然そう動作しているのでしょうか、それとも上記は正しい記述方法なのでしょうか? 正しい記述方法ならいいのですが、上記以外に正式な記述方法があれば 教えていただけないでしょうか? ※TYPE="submit"にすればいいとは思うのですが、buttonで実現したいと 考えております。

  • javascript return について

    javascript return の使い方について こんにちは。 javascriptでhtmlとjavascriptを分けて書く方法を勉強中です。 ○html文 <a href="" name ="linkMaxcd" id ="linkMaxcd">最大値</a> ○javascript文 1)document.getElementById("linkMaxcd").onclick=function(){return maxcd();} 2)function maxcd(){    省略   return false;   } この構文の流れは、 (1)htmlの最大値というテキストリンクをクリックする (2)javascript 1)のonclickしたら、maxcdのfunctionを実行する (3)javascript 2)の省略を行い、return false;でfalseを返す ということだと思います。 javascript 2)のreturn false; のfalseは、何処に戻るのですか? ○javascript参考 1')document.getElementById("linkMaxcd").onclick=function(){maxcd();} 2')function maxcd(){    省略   } もともと上記のjavascript参考にreturnを付け加えたところで、理解できなくなりました。 returnの付け方は、javascript参考サイトの手順に書いてありました。 よろしくお願いします。 以上

  • このif構文の間違いを教えて下さい。

    どうぞ宜しくお願いします。 *onsubmitでアラートを出力するようにしています。 if条件も"||"でひとまとめにもしてみましたが上手くいきませんでした。 ########################################## print "<SCRIPT LANGUAGE=\"JavaScript\">\n"; print "<!--\n"; print "function FldChk(){\n"; print " if( document.MyForm.name.value == '' ){\n"; print " alert('名前\、E\-mail\、選択項目は必須入力です ');\n"; print " return false;\n"; print " }\n"; print " if( document.MyForm.email.value == '' ){\n"; print " alert('名前\、E\-mail\、選択項目は必須入力です ');\n"; print " return false;\n"; print " }\n"; print " if( document.MyForm.comment.value == 'noting' ){\n"; print " alert('名前\、E\-mail\、選択項目は必須入力です ');\n"; print " return false;\n"; print " }\n"; print " else{\n"; print " alert('O\Kを押して10\秒\後に申\込が完\了します。有\難う御\座いました\♪ ');\n"; print " return true;\n"; print " }\n"; print "}\n"; print "// -->\n"; print "</SCRIPT>\n"; #############################################

  • CGI内でのjavaによるWindowopen

    CGIを作成中です。 やっているのは更新記録を改造して、商品入荷情報にしようとしています。日付、商品名、説明と共に画像を載せるようにしています。 その画像の開き方ですが、うまい方法は無いでしょうか? 今のところ単に<a><img>タグを使ってサムネイルをクリックするとこで原寸表示させるようにしています。 ただ、これだと、前のウインドウサイズに左右されてしまうし、ツールバーなども表示されるためスマートではありません。 で、Javaを使って画像クリックで指定サイズ小窓を開くようにしようと考えました。 ただ、どのようにしたら良いかが全然わからずです。 今のところわかっているのは画像クリックで別窓を開かせる方法 ------------------------------ print "<SCRIPT LANGUAGE='JavaScript'>\n"; print "function newwindow() {\n"; print "nwin = window.open('', 'Newwindow','width=300,height=210');\n"; print "nwin.document.open();\n"; print "nwin.document.write(\"<html><head>\"); \n"; ~~ print "nwin.document.write(\"</body></html>\"); \n"; print "nwin.document.close();\n"; print "return false;\n"; print "}\n"; print "</SCRIPT>\n"; ------------------------------ と、 <A HREF=\"dummy.html\" onClick=\"return newwindow()\"><img~~> の組み合わせで画像クリックで別窓が開くということだけです。 これをどのように改造したら良いのでしょうか? 単純に、 小窓に$imgを仕込み、 <A HREF=\"dummy.html\" onClick=\"return newwindow($img)\"><img src="$img">じゃダメでしょうか? 初心者なので変な事いってるかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう