2011-11-29 135 views
0

我試圖從HTML窗體傳遞一個值。基本上我有一個文本框的形式,並表格張貼到自己。我正在使用它來檢查優惠券代碼是否有效。如果我在文本字段中輸入有效優惠券並按下鍵盤上的回車鍵,則會調用頁面(發佈到同一頁面),在文本框中傳遞值但不應用折扣。但如果我輸入一個有效的優惠券代碼,而不是按下鍵盤上的輸入鍵,並點擊提交按鈕,它會調用頁面並傳遞值和優惠券代碼獲取設置從窗體帖子填充PHP變量

我已經使用一些調試工具來捕獲正在發送什麼,並通過POST發送該值。

這僅僅是IE瀏覽器中的一個問題。 FIREFOX,CHROME和其他瀏覽器可以很好地工作。我試圖IE8和IE7都沒有工作。

我認爲它應該仍然應用折扣,無論我按下回車鍵還是使用提交按鈕。有沒有人有任何想法我可以改變,以糾正這種情況,並在IE瀏覽器中工作?我們頁面用HTML和PHP編碼。

+3

我們需要一些代碼來幫助;) – jValdron

回答

1

隱藏字段添加到您的形式,像

<input type="hidden" name="submitted" value=1> 

然後在網頁上,而不是如果按提交按鈕執行代碼,檢查是否

$_POST['submitted']==1 
+1

在我看來,你不應該使用$ _REQUEST,因爲它彙總了$ _POST,$ _GET和$ _COOKIE。只使用你的表單正在使用的內容:'if($ _ POST ['submitted'] == 1)' – Ben

0

我我會假設你的輸入是type="image"。無論出於什麼不合理的原因,IE只發送圖像點擊提交的座標而不是其值。因此,「輸入」鍵永遠不會給你在IE中提交圖像的價值。解決方法是將其更改爲type="submit"併爲其提供背景圖像,或在表單中放置隱藏的輸入以指示提交。

0

一些示例代碼會很好,但在此期間,您是否嘗試過傾銷$ _Post?

<?php 
    print_r($_Post); 
?> 

這將返回一個表單中提交的所有東西的數組,所以你可以有一個想法它的期望。

另外,你是如何計算折扣? 需要考慮的事情,而不是重新提交整個頁面,是看看AJAX HTTPRequest
然後,你可以讓他們鍵入代碼,點擊查找按鈕,然後頁面將其傳遞到計算完成的另一個頁面,然後該值將返回到第一頁。這樣你甚至不用重新加載所有的煩惱,而且看起來更順暢。