我只是想知道一件事我到目前为止都无法解决。
我有一个php文件,代码如下。
doInit.php
<?
include 'connect.php';
session_start();
if(isset($_SESSION['detailid'])){
$detailid = $_SESSION['detailid'];
$resutlinit=mysql_query("select Nama,Kelas,Ranking,Level,Exp,Sekolah from MsDetail where DetailID='$detailid'");
if(mysql_num_rows($resutlinit)!='0'){
$row = mysql_fetch_array($resutlinit);
$nama = $row['Nama'];
$kelas = $row['Kelas'];
$ranking = $row['Ranking'];
$level = $row['Level'];
$exps = $row['Exp'];
$sekolah = $row['Sekolah'];
}else echo("Nothing here, try to more detail on your code");
}else {header("location:index.html");}
?>
<script type="text/javascript">
var nama = "<?= $nama ?>";
var kelas = "<?= $kelas ?>";
var ranking = "<?= $ranking ?>";
var level = "<?= $level ?>";
var exps = "<?= $exps ?>";
var sekolah = "<?= $sekolah ?>";
//document.writeln(nama);
//document.writeln(kelas);
//document.writeln(ranking);
//document.writeln(level);
//document.writeln(exps);
//document.writeln(sekolah);
</script>
我想在我的内部div上写javascript文件。
这是我在div HTML编辑器中写的。
<script type="text/javascript">
document.writeln(nama);
</script>
这不起作用。
我试图在PHP文件中添加一些src,比如
<script type="text/javascript" src="target.html"></script>
但它没有运气。
我尝试将src添加到目标html中,如
<script type="text/javascript" src="doInit.php"></script>
这也不适合我。
有任何建议如何解决这个问题?感谢您的关注:)
很抱歉在2个答案到来之后进行编辑。
答案 0 :(得分:2)
首先,设置文本框值document.writeln
不是您需要的。你应该这样做:
<input id="myInput" type="text"/>
<script type="text/javascript">
document.getElementById('myInput').value = myInputValue;
</script>
此外,您必须确保所有需要的JS以适当的顺序加载。
注意:我明白了,你没有使用任何PHP框架。这样,我可能建议在此处优化代码的一种可能方法是使用标准PHP函数 json_encode
。但是你应该将所有的JS变量复合到一个对象中:
PHP:
<?php
// Database work
if(mysql_num_rows($resutlinit)!='0'){
$row = mysql_fetch_array($resutlinit);
}
// ...
?>
<html>
<head>
<script type="text/javascript">
var data = <?php echo json_encode($row); ?>;
</script>
</head>
<body>
<form>
<input id="myInput" type="text"/>
</form>
<!-- Here your form is already loaded -->
<!-- Perform any JS activity on page at end of body -->
<script type="text/javascript">
document.getElementById('myInput').value = myInputValue; // As it goes in database row
</script>
</body>
</html>
UPD :如果您只需要在页面加载时指定input
值,则可以非常简单的方式执行此操作:
<input id="namaInput" type="text" value="<?php echo $row['Nama']"/>
答案 1 :(得分:0)
document.writeline()用提供给它的参数替换整个页面的内容。
为了预览变量值,请使用console.log(),或者在更极端的用例中,使用alert()。
至于在HTML文档中使用这些值,您可以使用:
<input type="text" id="myNamaInputField" />
在你的javascript代码中:
var nama = "<?= $nama ?>";
document.getElementById("myNamaInputField").value = nama;
将使用javascript变量的值填充输入字段。
注意将您的javascript代码放在文档中的HTML元素之后,或者将其延迟执行,直到DOM准备好使用。
编辑:要将javascript文本添加到页面,请使用变量text创建div,p或span元素,并将其附加到DOM。
在您的javascript代码中:
var nama = "<?= $nama ?>";
var myNamaDiv = document.createElement('div');
myNamaDiv.innerHTML = nama;
document.body.appendChild(myNamaDiv);