把变量放到这个javascript

时间:2017-04-26 09:02:58

标签: javascript php

对不起愚蠢的问题,但我的脑袋今天不再工作了,我必须尽快完成。

我有按钮调用AJAX:

<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>
到目前为止一切顺利。 如果我想用php中的变量来使用这个函数,怎么样?或者我可以编写具有相同目的的新函数,但在哪里放置变量?我试过了:

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

......但它不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您正在重新定义该功能。您只需在(!)定义它之后调用它。

替换

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

" "

此外,您必须插入引号( data: function () { return { cordova: Vue.cordova, plugins: { 'cordova-plugin-camera': function () { if (!Vue.cordova.camera) { window.alert('Vue.cordova.camera not found !') return } Vue.cordova.camera.getPicture((imageURI) => { window.alert('Photo URI : ' + imageURI) }, (message) => { window.alert('FAILED : ' + message) }, { quality: 50, destinationType: Vue.cordova.camera.DestinationType.FILE_URI }) }, .... )或Javascript不会将输入作为字符串。