我有一个PHP文件,其中包含从HTML收集的变量。我也有一个JavaScript函数。
我想通过PHP调用JavaScript函数,但是我知道这是不可能的,因为PHP代码在JavaScript代码之前。
我将其放在JS代码之前,因为仅当PHP在JavaScript文件之前时,JavaScript才从PHP代码中收集变量。
如何从PHP调用JS函数,并且仍然具有变量?(通过echo'after();'
这是我的index.php:
<?php
if(isset($_REQUEST['name']) && isset($_REQUEST['secondName']))
{
$name = $_REQUEST['name'];
$secondName = $_REQUEST['secondName'];
echo '<script>after();</script>';
}
else
{
$name = '';
$secondName = '';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
function after()
{
var name = '<?=$name?>';
var secondName = '<?=$secondName?>';
var str = " ";
if(!str.replace(/\s/g, '').length)
{
alert("error");
}
else
{
$("#pre-text").fadeIn();
$("#text").html(fullName);
$("#pre-text").click(function(){
$(this).fadeOut();
});
}
}
});
</script>
</head>
<body>
<form method="get">
<p>First name: <input type="text" name="name"></p>
<p>Second name: <input type="text" name="secondName"> <input type="submit"></p>
<p id="pre-text" style="display:none">Your first name is: <span id="text"></span>. You can also click me to hide.</p>
</form>
</body>
</html>
感谢帮助。
编辑:我想调用after()函数。
代替
echo '<script>after();</script>';
和
$hasData = true;
然后你可以做类似的事情
$(document).ready(function(){
<?=isset($hasData) && $hasData === true ? 'after();' : ''?>
});
此外,由于未定义“ fullName”,您还会收到JavaScript错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句