2011-04-19 35 views
0

比方說,我有一個HTML頁面「myPage.php」與使用GET方法並調用自身的一種形式:堅持創建外GET VAR和表格內

<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變量不是窗體的變量之一):

​​

現在.. 。我希望無論表單是被提交還是鏈接被按下,所有變量都將被持久化。
例如,如果用戶按下鏈接,URL將獲得'myVar = 100'+表單變量(就像表單也是一起提交併按下鏈接一樣),反之亦然 - 如果用戶提交了表單中,URL獲取表單的變量以及「myVar」,如果確實出現在URL中。

有沒有辦法?

謝謝:)

回答

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)接收myVar的PHP中

$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)創建,是啊,processForm(),稱爲JS方法誰將會決定是否套或設爲myVal沒有。

function processForm() { 
if (JOHNNY != ''){ 
    document.getElementById('myVar').value=JOHNNY; 
} 
} 

這樣,你的myVar的值將傳播,只有當它被前收到(這意味着,你把它的第一次,它會持續)。不知何故,我會使用$ _SESSION來保持請求之間的東西!事實上,它更安全,更容易! :)

希望它有幫助。

+0

感謝Alfabravo,但這不會解決我的問題,因爲這個想法是添加的var = 100只能在按下鏈接後才能添加/保持。不總是。在你的建議中,var = 100將始終被添加。 – Israel 2011-04-19 20:01:11

+0

請注意Q的最後一行 - 「如果確實是在URL中」,意思是隻有當鏈接被按下時,var = 100才應該被保留呼叫 – Israel 2011-04-19 20:03:12