0

我想将一些 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

4 回答 4

4

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

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

只需放置该标签,假设在您的输入标签下方。另外,在下面放置另一个: <script> uploadFile();

但我怀疑这行不通。您的函数想要将“#image”元素的值放入此隐藏字段?这个#image 是动态创建的吗?IE。用户在那里输入东西?

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

<input id="image" onchange="uploadFile()"/>
于 2013-07-09T07:48:43.533 回答
3
<?php

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

?>
于 2013-07-09T07:46:55.487 回答
1

我不确定这是否可能。但它看起来不正确。

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

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

使用这样的输入字段:

<input type="hidden" name="projectPhoto" id="projectPhoto" value='' />
于 2013-07-09T07:52:07.957 回答
0

你至少有两个问题:

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

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

于 2013-07-09T07:51:55.180 回答