2015-10-15 52 views
-3
function retrieveHasilRawatJalan(row, kd_klp) { 
    var hasil_rawat_jalan2 = <?php echo 
    Modules::run("lab/get_row_content_from_lab_code","HL-024") ?>; 
} 

how to replace "HL-024" with variable kd_klp?的JavaScript和PHP:如果我使用这种方式</p> <pre><code>function retrieveHasilRawatJalan(row, kd_klp) { var hasil_rawat_jalan2 = <?php echo Modules::run("lab/get_row_content_from_lab_code",?>kd_klp<?php) ?>; } </code></pre> <p>错误说解析错误如何应用PHP标签

内javascript变量我得到一个错误:语法错误,意外“? >”

,如果我的心不是问题不清楚,请你谢谢^^

UPDATE

之前添加AJAX

/** 
 
    * 
 
    * @param {type} id 
 
    * @returns {undefined} 
 
    */ 
 
function retrieveHasilRawatJalan(row) { 
 
    var hasil_rawat_jalan2 = <? php echo Modules::run("lab/get_row_content_from_lab_code", "HL-003") ?> ; 
 

 
    //var hasil_rawat_jalan2 = <?php //echo Modules::run("lab/get_row_content_from_lab_code", row)          ?>; 
 
    var number_of_row = parseInt(Object.size(hasil_rawat_jalan2)); 
 
    var row_start = parseInt(row); 
 

 
    addNewRow(number_of_row); 
 
    var row_end = (number_of_row + row_start); 
 

 
    j = 1; 
 
    for (i = row_start; i <= row_end; i++) { 
 
    document.getElementById('SUBKLP[' + i + ']').value = hasil_rawat_jalan2[j]['sub_klp']; 
 
    document.getElementById('NAMA[' + i + ']').value = hasil_rawat_jalan2[j]['name_of_inspection']; 
 
    document.getElementById('KODE[' + i + ']').value = hasil_rawat_jalan2[j]['inspection_id']; 
 
    document.getElementById('HASIL[' + i + ']').value = hasil_rawat_jalan2[j]['result']; 
 
    //document.getElementById('NILAI_NORMAL[' + i + ']').value = hasil_rawat_jalan2[j]['normal_result']; 
 
    document.getElementById('NILAI_NORMAL[' + i + ']').value = 'null'; 
 
    document.getElementById('SATUAN[' + i + ']').value = hasil_rawat_jalan2[j]['measure_unit']; 
 
    document.getElementById('KDKLP[' + i + ']').value = hasil_rawat_jalan2[j]['klp_id']; 
 
    j++; 
 
    } 
 
    console.log("row start: " + row_start + ", row end:" + row_end + ", column length: " + number_of_row); 
 
}

添加AJAX

/** 
 
    * test ajax 
 
    * @param {type} row 
 
    * @returns {undefined} 
 
    */ 
 
    function retrieveHasilRawatJalan2() { 
 

 
     var row = "HL-003"; 
 
     var hasil_rawat_jalan2; 
 

 
     var xhttp; 
 
     if (window.XMLHttpRequest) { 
 
     xhttp = new XMLHttpRequest(); 
 
     } else { 
 
     // code for IE6, IE5 
 
     xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
 
     } 
 

 
     xhttp = new XMLHttpRequest(); 
 
     xhttp.onreadystatechange = function() { 
 
     if (xhttp.readyState == 4 && xhttp.status == 200) { 
 
      //document.getElementById("demo").innerHTML = xhttp.responseText; //to print on <p id="demo"></p> 
 
      hasil_rawat_jalan2 = xhttp.responseText; 
 
     } 
 
     } 
 
     
 
     //this isnt work 
 
     xhttp.open("POST", "<?php echo site_url(" 
 
     lab/get_row_content_from_lab_code/") ?>" + row, true); 
 
     
 
     //this work 
 
     xhttp.open("POST", "<?php echo site_url(" 
 
     lab/get_row_content_from_lab_code /HL-003") ?>", true); 
 

 
     xhttp.send(); 
 

 
     var number_of_row = parseInt(Object.size(JSON.parse(hasil_rawat_jalan2))); //try to change hasil_rawat_jalan2 to json but fail. 
 
     var row_start = parseInt(row); 
 

 
     addNewRow(number_of_row); 
 
     var row_end = (number_of_row + row_start); 
 

 
     j = 1; 
 
     for (i = row_start; i <= row_end; i++) { 
 
     document.getElementById('SUBKLP[' + i + ']').value = hasil_rawat_jalan2[j]['sub_klp']; 
 
     document.getElementById('NAMA[' + i + ']').value = hasil_rawat_jalan2[j]['name_of_inspection']; 
 
     document.getElementById('KODE[' + i + ']').value = hasil_rawat_jalan2[j]['inspection_id']; 
 
     document.getElementById('HASIL[' + i + ']').value = hasil_rawat_jalan2[j]['result']; 
 
     //document.getElementById('NILAI_NORMAL[' + i + ']').value = hasil_rawat_jalan2[j]['normal_result']; 
 
     document.getElementById('NILAI_NORMAL[' + i + ']').value = 'null'; 
 
     document.getElementById('SATUAN[' + i + ']').value = hasil_rawat_jalan2[j]['measure_unit']; 
 
     document.getElementById('KDKLP[' + i + ']').value = hasil_rawat_jalan2[j]['klp_id']; 
 
     j++; 
 
     } 
 
     console.log("row start: " + row_start + ", row end:" + row_end + ", column length: " + number_of_row); 
 
    }

后更新阿贾克斯之后个

问题,

  1. 我分配var row = "HL-003";但我不是能够可变行分配给xhttp.open("POST", "<?php echo site_url(" lab/get_row_content_from_lab_code/") ?>" + row, true);除非我直接写像这样xhttp.open("POST", "<?php echo site_url(" lab/get_row_content_from_lab_code /HL-003") ?>", true);
  2. 我从xhttp.open("POST", "<?php echo site_url(" lab/get_row_content_from_lab_code /HL-003") ?>", true);得到的结果,但它返回的字符串不反对eventhough字符串的格式是相同的。所以我改变hasil_rawat_jalan2 = xhttp.responseText;并添加JSON.parse(hasil_rawat_jalan2); //try to change hasil_rawat_jalan2 to object but fail.
+0

这是否通过文件PHP解析器运行?如果这只是简单的js交付给客户端的PHP代码将不会被执行。 – m02ph3u5

回答

1

它不可能放在PHP(服务器端)一javascript值(客户方)。 除非您使用AJAX获取页面并将该变量作为POST/GET值发送。

javascript将值存储在您的浏览器之后该页面已被加载。并且PHP在之前执行该页面被发送到浏览器。因此,在你的问题中你想要的方式是不可能的。 (对于据我了解的问题:P)

Example for ajax request

+0

虽然这是真的,但我相信OP已经简单地混合了这两个东西,因为它看起来(至少对我来说)就像他试图在js函数中放置一个php变量。 – Epodax

+0

@Thaillie,谢谢你的信息。能否请你提供一个使用ajax的例子,然后我会标记你的答案 – stacheldraht27

+0

@ stacheldraht27添加一个链接到一个有用的信息/例子的网站。 – Thaillie

相关问题