2016-04-16 11 views
0

だから私は、彼らはをクリックし得るときjavascript関数を呼び出すPHPスクリプトによって生成されたラジオボタンのこのセリエあります。その後、パスPHPの文字列

<?php 
    $databases = mysqli_query($link, "SHOW DATABASES"); 
    while($row = mysqli_fetch_row($databases)) { 
     $db = $row[0]; 
     echo "<input type='radio' name='database' id='".$db."' onclick='displaydbcontent(".$db.")'>";  
    } 
?> 

javascript関数を文字列の内容を通知しなければならない:

function displaydbcontent(dbid) { 
    alert("This is a test"); 
    alert(dbid); 
} 
関係なく、どのような変数$ DBは、最初の警告を表示した後、第二1常に版画「「これはテストです」印刷しているの含有量[今すぐ

、オブジェクトHTMLInputElement] "

私はそれがすべて引用符の問題だと確信していますが、回避する方法はありません。

私の問題でそれほど気にしないと思っている人でも、$ link変数は初期化され正しく動作しています。

+0

は –

+0

...良い意味ではありません関数であり、文字列ではありません。 – dman2306

+0

名前は同じですが、IDは常に異なっています。 –

答えて

0

あなたが引数として$dbを渡していると、それは要素を表しclicked-element

onclick='displaydbcontent(this.id)'>"; 

idプロパティを返します。引数として渡すthis.ididの要素はグローバル変数になります。

function callMe(elem) { 
 
    console.log(elem); 
 
}
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script> 
 
<div id='elem' onclick='callMe(elem)'>Hello!!!!!</div>

編集:あなたがオブジェクトを渡しているため、ページ内の異なるHTML要素のために同じIDと名前を追加またはecho '<input type="radio" name="database" id="'.$db.'" onclick="displaydbcontent(\'$db\')">';

+0

お寄せいただきありがとうございます!親切に[受諾とアップ - 投票](http://meta.stackexchange.com/questions/23138/how-to-accept-the-answer-on-stack-overflow)目的を解決した最高の解決策:) __Happyコーディング!__ – Rayon

+0

これは明確にするために、this.idの解決策は動作しますが、javascriptの引用符がphpで壊れているので、もう一方の解決策はありません。 –

+0

編集を確認してください! – Rayon