我有一个程序,当我打开一个模态时,我需要更改一个URL。
window.history.pushState('', 'Admin Account','admin-account.php?Name=' + strName);
当我点击提交按钮时,我需要获取"名称" URL中的变量。
<?php
if(isset($_POST['btnUpdate'])){
if(isset($_GET['Name'])){
$old = $_GET['Name'];
echo 'Name = '.$old;
}
else{
echo 'not successful'; //This is what I always get. I can't get the value
}
}
else{
echo 'not clicked'; //when the button Update isn't clicked
}
?>
与此流程相关的其他代码位于here。我还在那里放了一段php,所以它不会工作,但我只是在那里编译了相关的片段。
答案 0 :(得分:1)
就表单而言,您正在更改错误的内容:您需要将参数添加到表单的action
属性中,以确保它与表单一起发送。
所以像(未经测试,但我认为这个想法很明确):
window.history.pushState('', 'Admin Account','admin-account.php?Name=' + strName);
// Add it to the form action attribute as well
$('form').attr('action', $('form').attr('action') + '?Name=' + strName);
请注意,如果涉及更多参数或者有问题的代码可以多次运行,则需要解析并重建查询参数字符串。