2015-10-15 50 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

相關問題