A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
多分、#1さん、#2さんの「回答」で正解なのですが、
質問者さんが少し混乱している風情がありますので補足しますね。
JavaScriptエラーはブラウザ内で発生しているエラーなので、PHP側の変数には問題はありません。
問題は、展開されたHTMLソースの「状況」にあります。
この問題の場合、仮にPHPの変数$data の内容が "aaaa" という文字列だったとします。
すると、<a href ="Javascript:xxx($data)"> という記述は展開されて、
<a href ="Javascript:xxx(aaaa)"> というHTMLソースが出力されます。
それを受け取ったブラウザ側でJavaScriptを実行させると、
関数を xxx(aaaa) としてコールしていますので、
JavaScriptは、aaaa というHTML内の変数を探し、該当するものが無いのでエラーとなっています。
従って、
> aaaa is not defined.
変数 aaaa は定義されてませんよ! というエラーになるわけです。
さて、目的は、関数 xxx() へ "aaaa" という文字列を引き渡してやりたい訳なので、HTMLソース内で <a href ="Javascript:xxx('aaaa')"> という形へ展開されるようにPHPを組む必要がありますので、
皆さんが回答しているように
<a href ="Javascript:xxx('$data')">
してやるだけで、問題は解決すると思われます。
ちなみに $data の内容が "1" だった場合には、JavaScript は 1 を変数ではなく数値と判断しますので、結果的に正常に 1.html へ遷移する筈です。
また、"02" だった場合には同様の処理の結果、2.html へ遷移してしまう結果になります。
また、偶然に変数 aaaa が定義されていて、仮に "himitu" という文字列が定義されていた場合には、himitu.html へ遷移してしまう結果になります。
JavaScriptは、型変換に関しては、非常に「強力な」処理系です。
利用される場合には、JavaScript内でどのような変換が行われてゆくか、詳細に推定しておく必要があります。
No.2
- 回答日時:
$dataは、PHPの変数ってことですかね?
試してませんが
<a href ="Javascript:xxx(<?=$data?>)">
じゃないですか?
$dataが""(空)だった場合も考えると
もう少し修正して
<a href ="Javascript:xxx('<?=$data?>')">
がいいかも…
もちろんJavascriptのxxx関数で""(空)が
渡された場合の処理を記述する必要がありますが。
No.1
- 回答日時:
出力したhtmlソースを確認してください
$data が例えば a.html だとすると
<a href ="Javascript:xxx(a.html)">
となっていないでしょうか
javascript のほうで引数として文字列を渡したいならば、
xxx('a.html') となるように変更が必要でしょう
また、エラー文、省略されている関数内のスクリプト、htmlソース等
回答を求めるための内容が不足しすぎです
私も見当違いの回答をしているかもしれませんので、
解決なさらない場合は全て補足するのが良いと思いますよ
この回答への補足
申し訳ありません。拙い文章でした。
まず、javascriptの関数は
function xxx(data){
if(confirm(data + ":このページへとびます")){
window.open(data + ".html","_self");
}
}
です、ただ確認メッセージを出して、そのページに飛ばせるようにしています。
HTMLソースではPHP部でデータベースと接続し、レコードより得た文字列データが$dataに入っており、
<a href="javascript:xxx($data)">リンク</a>としています。
リンクをクリックすると何もおきず、
エラー文は, $dataの内容 is not defined.とでています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- JavaScript Wordpressでヤフー知恵袋やgoo質問のような回答ページを作成したいです 4 2023/06/02 22:38
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascript:void(0)とは何でし...
-
クロスドメインでクッキーの取得
-
javascript + php でエラー
-
Javascriptエラーの原因が分か...
-
ブラウザ自体の事じゃなくてJav...
-
デザイン時のVisible=Falseは実...
-
JavaScriptで ブラウザの閉じる...
-
PowerPointで時計表示
-
VB.NET2003 テキストボックスに...
-
htmlのfileタグに自動で値を入...
-
if(1){...}とはどういうことで...
-
JavaScriptの負荷について
-
「終了していない文字列型の定...
-
jQuery ui Datepicker 明日以降...
-
javascriptでのmdb接続について
-
テキストファイルの更新日時を取得
-
VBA SORT Applyでエラー
-
C# ブラウザの自動クリック
-
onChange="javascript:関数名"...
-
助けてください!スパムメール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javascriptエラーの原因が分か...
-
javascript:void(0)とは何でし...
-
ホームページビルダーでスクリ...
-
クロスドメインでクッキーの取得
-
HTAで,親ウインドウを閉じ...
-
confirm()をはい/いいえ に切...
-
エディタ機能のTEXTAREAを作りたい
-
window.openがIEでエラーにされる
-
PhotoshopのJavaスクリプトで明...
-
Google mapが表示されない
-
クリックすると下に説明文が出...
-
このページのスクリプトでエラ...
-
HTMLにデバック機能はないので...
-
マウスムーブでのマウスカーソ...
-
JavaScript と VBScript を同時...
-
JQueryのエラーの詳細
-
関数を最終行までコピー
-
javascript + php でエラー
-
オブジェクトでサポートされて...
-
DOCTYPE宣言を変更するとjavaが...
おすすめ情報