将值从PHP传递给JavaScript

ven*_*lam 1 javascript php function

我有PHP代码,如下所示.

<?php
    echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id1."','".$fname1."',".$sal1.");</SCRIPT>";
    echo "<SCRIPT LANGUAGE='javascript'>add dd_Employee('".$id2."','".$fname2."',".$sal2.");</SCRIPT>";
    ....

?>
...
Run Code Online (Sandbox Code Playgroud)

我的JavaScript代码包含

var details=new Array();

function addEmployee(id,fname,salary){
    var temp=new Array(id,fname,salary);
    details[details.length]=temp;
    alert(temp);
}

function displayEmployee(){
    for (var i=0;i<details.length;i++)
        var temp_details=details[i];

    //Display the id,name,sal
    var id=temp_details[0];
    var name=temp_details[1];
    var sal=temp_details[2];

    alert(id);
    alert(name);
    alert(sal);
}
Run Code Online (Sandbox Code Playgroud)

现在问题是PHP分配的任何内容都只会在中AddEmployee.这意味着它工作正常.但在displayEmployeePHP分配的值内部将无法正常工作.我的逻辑有什么缺陷吗?

Wil*_*ord 6

只是直接填充您的全局数据结构,而不是通过JavaScript函数传递它.由于您在addEmployee中分配内存,因此可能会遇到可变范围问题.

例:

<?php
print "details[details.length] = new Array('$id1', '$name1', '$salary1');\n";
?>
Run Code Online (Sandbox Code Playgroud)