delete_define.php中的html如下:
<form action="delete_now.php" onsubmit="my_funct();">
<input type="submit" name="my_submit" class="my_submit" value="submit"/>
</form>
javascript片段如下:
<script type="text/javascript">
$(document).ready(function(){
function my_func(){
alert("from within my_func()");
}
});
</script>
delete_now.php内容是:
//php code snippet **[THIS LINE IS AN EDIT]**
<script type="text/javascript">
alert("from within delete_now.php");
</script>
第一次运行脚本时,我看到表单按钮,单击按钮,在chrome控制台中找到消息“my_func()未定义”。然后浏览器立即显示来自delete_now.php的警告框,并且控制台中没有错误消息存在。该网页的网址从http://localhost/soc_net/delete_now.php更改为http://localhost/soc_net/delete_now.php?my_submit=submit。
如果我尝试第二次运行delete_define.php而不关闭浏览器,我看不到表单按钮。如果我关闭浏览器并重新打开它,则会重复相同的情况。
我想要的是什么:
1)表格按钮将在每次运行时显示。
2)我将点击提交按钮,然后执行my_func(),并且只有在执行后才会调用delete_me.php
3)首先执行delete_me.php中的php代码,并且仅在该页面中的javascript代码执行后才会执行。
pz周围有人吗?
编辑2:
delete_now.php调用了javascript函数stopUpload:
window.top.window.stopUpload('<?php echo $uploaded_file_name; ?>');
此函数在delete_define.php页面中定义。
delete_now.php中的php代码片段有一个会话变量,每次都取一个随机值。该值在stopUpload()中使用,但遗憾的是stopUpload无法接收更改的会话值。它使用了第一次收到的价值。
如何让它接收更改后的值?
我认为说明问题(服务器端,客户端混合概率)将不需要代码。
最终编辑: 我认为我的第二次编辑值得关于服务器端和客户端编程的新问题。所以我是GONNA那样做的。我会在这里告诉新问题的网址
here是新问题。
答案 0 :(得分:0)
以下是您的问题的答案:
1)如果我理解正确,你想在“Delete_Now.php”和“Delete_Define.php”中显示提交按钮,所以我建议在该页面中输入相同的HTML代码。
2)如果你想运行my_func()n表单提交,这里是我建议的代码:
<form action="delete_now.php" onsubmit="return my_func();">
<input type="submit" name="my_submit" class="my_submit" value="submit"/>
</form>
<script type="text/javascript">
function my_func(){
alert("from within my_func()");
return true;
}
</script>
3)您无法在客户端代码(JavaScript)之后运行服务器端(php)代码。但是有一个解决方法可以这样做,但我不推荐它:首先使用您想要显示给客户端的Javascript代码返回页面内容,不要做任何其他操作哦PHP端然后做客户端对服务器进行回调或Ajax调用,以便在php上执行您想要执行的操作。
我希望这会有所帮助: - )