假设我有一个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>
而且,在这个页面和表单之外,我有一个也调用页面本身的锚,但添加了一个GET变量“myVar”(一个不是表单变量之一的GET变量):
<a href="myPage.php?myVar=100"></a>
现在......我希望无论表单是否已提交或链接是否被按下,所有变量都将被保留 例如,如果用户正在按下链接,则URL将获得'myVar = 100'+表单变量(就好像表单也与链接一起提交),反之亦然 - 如果用户提交表单, URL获取表单的变量以及“myVar”,如果它确实在URL中。
有办法吗?
谢谢:)
答案 0 :(得分:0)
因此,简单的方法是使用
设置链接<a href="#" onClick="document.form_name.submit();">Something</a>
另外,将表单中的操作更改为
<form action"myPage.php?var=100" method="get" name="form_name" id="form_name">
...
他们将发送相同的表格。无论如何,你会以某种方式处理表单输入,对吗?
编辑:好吧,如果它取决于链接点击,那么:
1。)在PHP中接收myVar
$myCurrval = $GET['myVar'];
2.)将其分配给JS var
<script type="text/javascript">
var JOHNNY = <?php echo $myCurrval; ?>
</script>
2.)添加隐藏输入
<input type="hidden" id="myVar" name="myVar" value="" />
2。)并将链接更改为
<a href="#" onClick="processForm();">Something</a>
3.)然后,创建一个名为yes,processForm()的JS方法,该方法将决定是否设置myVal。
function processForm() {
if (JOHNNY != ''){
document.getElementById('myVar').value=JOHNNY;
}
}
这样,你的myVar值只会在之前收到它时传播(这意味着,第一次发送它时,它会持续存在)。不知何故,我会使用$ _SESSION来处理请求之间的事情!事实上,它更安全,更容易! :)
希望它有所帮助。