我想将一些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;
};
答案 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)
至少有两个问题:
你正在混合使用javascript和php,因为你无法在php中使用javascript而无法正常工作:$fileName = document.getElementById('image').value;
我不确定浏览器是否会在输入字段的<script>
属性中执行value
个标记。将脚本放在它之外。