Php 持久化获取在窗体内外创建的变量
假设我有一个HTML页面“myPage.php”,其中的表单使用GET方法并调用自身:Php 持久化获取在窗体内外创建的变量,php,html,forms,get,Php,Html,Forms,Get,假设我有一个HTML页面“myPage.php”,其中的表单使用GET方法并调用自身: <form name="myForm" action="myPage.php" method="get"> <input type="text" name="input1" /> <input type="text" name="input2" /> . . . <input type="submit" /> </form> . .
<form name="myForm" action="myPage.php" method="get">
<input type="text" name="input1" />
<input type="text" name="input2" />
.
.
.
<input type="submit" />
</form>
.
.
.
另外,在这个页面和表单外部,我有一个锚,它也调用页面本身,但是添加了一个GET变量“myVar”(一个GET变量,它不是表单的变量之一):
现在。。。我希望无论是提交表单还是按下链接,所有变量都将保持不变。e、 例如,如果用户按下链接,URL将获得“myVar=100”+表单变量(好像表单也是在按下链接的同时提交的),反之亦然-如果用户提交表单,URL将获得表单的Var以及“myVar”,如果它确实在URL中 有办法吗
谢谢:)因此,简单的方法是使用设置链接
<a href="#" onClick="document.form_name.submit();">Something</a>
2.)将其分配给JS变量
<script type="text/javascript">
var JOHNNY = <?php echo $myCurrval; ?>
</script>
这样,您的myVar值只有在之前收到时才会传播(这意味着,在您第一次发送它时,它将保持不变)。不知何故,我会使用$\u会话在请求之间保留内容!事实上,它更安全,也更容易!!!:)
希望有帮助。谢谢Alfabravo,但这并不能解决我的问题,因为我的想法是,添加的var=100应该只在按下链接后添加/保留。不总是这样。在您的建议中,var=100将始终被添加。请注意Q的最后一行——“如果它确实在URL中”,意思是说,只有在前面的调用中按下链接时,var=100才应该被持久化
<form action"myPage.php?var=100" method="get" name="form_name" id="form_name">
...
$myCurrval = $GET['myVar'];
<script type="text/javascript">
var JOHNNY = <?php echo $myCurrval; ?>
</script>
<input type="hidden" id="myVar" name="myVar" value="" />
<a href="#" onClick="processForm();">Something</a>
function processForm() {
if (JOHNNY != ''){
document.getElementById('myVar').value=JOHNNY;
}
}