我不知道这是否可能,因为我知道php是服务器端,javascript是客户端。
但是我正在尝试从 php 页面内的if isset
运行此 JavaScript 代码。
我正在使用以下代码:
<?php
if( isset($_POST['submit2'])){
echo "
<script type='"text/javascript'">
$(document).ready(function(){
setTimeout(function () {
doWork();
window.location.reload();
}, 2000);
function doWork() {
$('#submit').trigger('click');
}
});
</script>";
}
?>
这个JavaScript应该点击名为(提交)的按钮,如果它不在PHP回显中,它就可以正常工作......我还检查了if if( isset($_POST['submit2']))
是否真的返回了一个值,它确实返回了一个值,并且它应该工作。
所以,我不知道这里的问题是什么>
有人可以帮我解决这个问题吗?
我一直发现最好将我的主要javascript/jquery代码保留在head标签中,并使用php来检查和设置允许我的脚本运行的变量;使用php将javascript布尔值回显到我的JS块中。通过这种方式,您知道 javascript 正在做它应该做的事,而不必担心元素在 DOM 中没有得到正确处理。
所以我会这样做(我不知道您希望事情发生的顺序,所以这可能看起来不正常,但原理应该仍然相同):
<?php
if( isset($_POST['submit2'])){
$varSet = "var set2 = 1;";
} else {
$varSet = "var set2 = 0;";
}
?>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type='"text/javascript'">
$(document).ready(function(){
<?php echo $varSet; ?>
if(set2 == 1){
setTimeout(function () {
doWork();
window.location.reload();
}, 2000);
function doWork() {
$('#submit').trigger('click');
}
}
});
</script>
</head>