将Javascript放在php中

时间:2013-07-09 07:43:33

标签: php javascript

我想将一些JavaScript放入PHP代码段并能够加载一个函数。我一直关注这个网站:http://www.dynamicdrive.com/forums/showthread.php?41129-How-to-put-JS-in-PHP并且没有运气。

到目前为止,这是我的代码:

<input type="hidden" name="projectPhoto" value='<?php echo "<script type=\"text/javascript\" src=\"js\phpjs.js\"></script>";
                                                                ?>'/>

尽管有明确的说明,但结果正是回应的内容。该脚本尚未运行。这甚至可以吗?

这也是我的功能:

function uploadFile(){
    var filename = document.getElementById("image").value;
    filename = filename.replace("C:\\fakepath\\", "");
    alert(filename);
    filename = String(filename);
    document.getElementById("projectPhoto").value = filename;
};

4 个答案:

答案 0 :(得分:4)

你必须自己加载这个JS文件。你甚至不需要php,你可以使用你所包含的相同脚本标签:

 <script type="text/javascript" src="js/phpjs.js">

只需放置该标签,让我们说你的输入标签。另外,放下另一个: <script> uploadFile();

但我怀疑这不起作用。你的函数想要将“#image”元素的值放入这个隐藏字段中吗?这是#image动态创建的吗? IE浏览器。用户在那里输入了什么?

然后你可以简单地在那个输入标签上做这样的事情:

<input id="image" onchange="uploadFile()"/>

答案 1 :(得分:3)

<?php

// PHP Single quotes and double quotes for JavaScript
 echo '<script type="text/javascript">';
echo 'document.write("Like That!")';
echo '</script>';

?>

答案 2 :(得分:1)

我不确定是否有可能。但看起来不对。

我将javascript从输入字段的值中取出,而是在函数中设置值:

function uploadFile(){
    var fileName = document.getElementById('image').value;
    document.getElementById('projectPhoto').value = fileName;
}

使用您的输入字段:

<input type="hidden" name="projectPhoto" id="projectPhoto" value='' />

答案 3 :(得分:0)

至少有两个问题:

  1. 你正在混合使用javascript和php,因为你无法在php中使用javascript而无法正常工作:$fileName = document.getElementById('image').value;

  2. 我不确定浏览器是否会在输入字段的<script>属性中执行value个标记。将脚本放在它之外。