2017-04-26 5 views
0

申し訳ありませんが、私の頭はもう今日働いていないので、私はすぐにこれを終わらせなければなりません。ここに変数を入れて、このjavascriptに

<button onclick="showUser(this.value)" value="' . $row2["xxx"] . '">' . $row2["xxx"] . '</button>` 

と機能::

<script> 
function showUser(str) { 
    if (str=="") { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 
    if (window.XMLHttpRequest) { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } else { 
    // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() { 
    if (this.readyState==4 && this.status==200) { 
     document.getElementById("maintext").innerHTML=this.responseText; 
    } 
    } 
    xmlhttp.open("GET","maintext.php?q=" +str,true); 
    xmlhttp.send(); 
} 
</script> 

これまでのところは良い

私はAJAXを呼び出すためのボタンがあります。 この関数をPHPの変数で使用したい場合は、どうすればよいですか?あるいは、私は同じ目的で新しい関数を書くことができましたが、どこに変数を入れますか?試しました:

if (isset($_GET['info'])) { 
    echo '<script> function showUser(' . $_GET["info"] . ') </script>'; 
} 

...しかし、うまくいきません。

ありがとうございました

+0

funciton echo ''を呼び出すだけで関数を再度定義しないでください。 –

+0

ありがとう、私の間違いだった。しかし、このページをリダイレクトした後は、関数は呼び出されません。 –

答えて

2

機能を再定義しています。あなたはそれを定義した後に(!)呼び出す必要があります。

はまた、あなたが引用符(" ")またはJavaScriptを文字列として入力になりません挿入する必要が

if (isset($_GET['info'])) { 
    echo '<script> showUser("' . $_GET["info"] . '") </script>'; 
} 

if (isset($_GET['info'])) { 
    echo '<script> function showUser(' . $_GET["info"] . ') </script>'; 
} 

を交換してください。

+0

ありがとう@modsfabio、再定義は私の間違いでした。しかし、このページをリダイレクトした後は、関数は呼び出されません。 –

+0

定義した後に必ず呼び出してください!コンソールにエラーがありますか? – modsfabio

+0

今、それは動作します、ありがとう! –

関連する問題